汇编之间接读取数组(c语言风格)
本帖最后由 whypro 于 2010-12-13 06:54 编辑废话就不多说了
.386
.model flat,stdcall
option casemap:none
include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib
.data
arrayP dword 1,2,3
szCaption db '消息框!',0
szText db 100 dup(0)
szCharsFormat db 'ArrayP Sum:%d',0
.code
start:
mov esi,offset arrayP ;取数组的地址(&arrayP)
mov eax, ;第1个元素 eax=1
add esi,4 ;地址加一(&arrayp+1)
add eax, ;加上第2个元素 eax=3
add esi,4
add eax, ;加上第3个元素 eax=6
invoke wsprintf,addr szText, addr szCharsFormat, eax
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK
invoke ExitProcess,NULL
end start
页:
[1]