飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3597|回复: 0

汇编之间接读取数组(c语言风格)

[复制链接]
  • TA的每日心情
    慵懒
    2019-3-12 17:25
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2010-12-12 16:18:25 | 显示全部楼层 |阅读模式
    本帖最后由 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,[esi]                        ;第1个元素        eax=1
    add                esi,4                                         ;地址加一(&arrayp+1)
    add                eax,[esi]                        ;加上第2个元素        eax=3
    add                esi,4
    add                eax,[esi]                        ;加上第3个元素        eax=6
    invoke        wsprintf,addr szText, addr szCharsFormat, eax
    invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK
    invoke ExitProcess,NULL
    end start
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表