- UID
- 66114
注册时间2010-4-1
阅读权限30
最后登录1970-1-1
龙战于野
TA的每日心情 | 慵懒 2019-3-12 17:25 |
---|
签到天数: 3 天 [LV.2]偶尔看看I
|
本帖最后由 whypro 于 2010-12-13 06:51 编辑
创建数组:
ArrayName type value
数组名 类型 初始值
举例:
arrayA dword 1,2,3,4,5
地址
00000000 1
00000004 2
.................. 3
.................. 4
废话就不多说了上代码:
.386
.model flat,stdcall
option casemap:none
include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib
.data
arraySum dword 1,2,3
szCaption db '消息框!',0
szText db 100 dup(0)
szCharsFormat db 'ArraySum Sum:%d',0
.code
start:
mov esi,offset arraySum
mov ecx,lengthof arraySum ;取数组长度
mov eax,0
L1:
add eax,[esi] ;求和
add esi,type arraySum ;指向下一个元素
loop L1 ;跳转到L1,直到ecx=0时,才停止跳转
invoke wsprintf,addr szText, addr szCharsFormat, eax
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK
invoke ExitProcess,NULL
end start |
|