whypro 发表于 2010-12-12 16:18:25

汇编之间接读取数组(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]
查看完整版本: 汇编之间接读取数组(c语言风格)