- 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 |   
 
 
 
 |