网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
学 Win32 汇编 [5]: 伪指令 DUP 与数组
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/11/26
下载{$ArticleTitle}原创论文样式

1 2 3 下一页

  声明数组实例:

; Test5_1.asm 
.386 
.model flat, stdcall 
 
include msVCrt.inc 
includelib msvcrt.lib 
 
.data 
  szFmt db ''%d'', 0DH, 0AH, 0 
  ;声明并初始化有五个元素的 DWORD 数组; 该数组每个元素是 4 字节 
  val dd 11,22,33,44,55 
.code 
start: 
  invoke crt_printf, addr szFmt, val  ;11 
  invoke crt_printf, addr szFmt, val+4 ;22 
  invoke crt_printf, addr szFmt, val+8 ;33 
  invoke crt_printf, addr szFmt, val+12 ;44 
  invoke crt_printf, addr szFmt, val+16 ;55 
  ret 
end start 

  上面的例子也可以这样写:

; Test5_2.asm 
.386 
.model flat, stdcall 
 
include msvcrt.inc 
includelib msvcrt.lib 
 
.data 
  szFmt db ''%d'', 0DH, 0AH, 0 
  val dd 11 
    dd 22 
    dd 33,44,55 
.code 
start: 
  invoke crt_printf, addr szFmt, val[0]  ;11 
  invoke crt_printf, addr szFmt, val[4*1] ;22 
  invoke crt_printf, addr szFmt, val[4*2] ;33 
  invoke crt_printf, addr szFmt, val[4*3] ;44 
  invoke crt_printf, addr szFmt, val[4*4] ;55 
  ret 
end start 

  使用伪指令 DUP:

; Test5_3.asm 
.386 
.model flat, stdcall 
 
include msvcrt.inc 
includelib msvcrt.lib 
 
.data 
  szFmt db ''%d'', 0DH, 0AH, 0 
  ;声明有五个元素的 DWORD 数组, 并把每个元素初始化为 6 
  v1 dd 5 dup(6) 
  ;声明有五个元素的 DWORD 数组, 无初始化; 对全局变量, 没有初始化的将用 0 填充 
  v2 dd 5 dup(?) 
.data? 
  ;声明有五个元素的 DWORD 数组 
  v3 dd 5 dup(?) 
 
.code 
start: 
  invoke crt_printf, addr szFmt, v1[0]  ;6 
  invoke crt_printf, addr szFmt, v1[4*1] ;6 
  invoke crt_printf, addr szFmt, v1[4*2] ;6 
  invoke crt_printf, addr szFmt, v1[4*3] ;6 
  invoke crt_printf, addr szFmt, v1[4*4] ;6 
 
  invoke crt_printf, addr szFmt, v2[0]  ;0 
  invoke crt_printf, addr szFmt, v2[4*1] ;0 
  invoke crt_printf, addr szFmt, v2[4*2] ;0 
  invoke crt_printf, addr szFmt, v2[4*3] ;0 
  invoke crt_printf, addr szFmt, v2[4*4] ;0 
   
  invoke crt_printf, addr szFmt, v3[0]  ;0 
  invoke crt_printf, addr szFmt, v3[4*1] ;0 
  invoke crt_printf, addr szFmt, v3[4*2] ;0 
  invoke crt_printf, addr szFmt, v3[4*3] ;0 
  invoke crt_printf, addr szFmt, v3[4*4] ;0 
  ret 
end start 
(责任编辑:admin)

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号