cdtaogang 2022-11-08 10:17 采纳率: 100%
浏览 26
已结题

汇编32位寄存器和地址编号的书写方式有哪些

32位通用寄存器

32位:EAX EBX ECX EDX ESP EBP ESI EDI 每个寄存器的最大宽度是32位

16位:AX BX CX DX SP BP SI DI

8位 :AL BL CL DL AH BH CH DH
想寄存器存一个数字可以用mov指令

mov eax,1 就是把1存到eax寄存器中

程序内存

一个32位的程序最大存储空间是4G

就是从0~0X4F的取值范围

每个值都是一个内存地址都对应一块内存

没快内存就是8位

MOV ECX,DWORD PTR DS:[0xC1FAF8]

把内存0xC1FAF8上的数据复制到ecx寄存器上

MOV DWORD PTR DS:[0xC1FAF8],ECX

把ecx上的数据复制到0xC1FAF8

汇编地址编号的物种形式

  • 写回答

1条回答 默认 最新

  • m0_70613993 2022-11-08 10:32
    关注

    第一种:

    MOV DWORD PTR DS:[0xC1FAF8],124323

    第二种:【reg】

    ecx=C1FAF8

    MOV DWORD PTR DS:[ecx],1234233

    第三种:【reg+立即数】

    ecx=C1FAF4

    C1FAF8=1233213

    MOV eax,dword ptr ds:[ecx+4]

    第四种:[reg+reg*{1,2,4,8}]

    读取值

    mov eax,C1FAF4

    mov ecx,2

    mov edx,dword ptr ds:[eax+ecx*4]

    写入值

    mov eax,C1FAF4

    mov ecx,2

    mov dword ptr ds:[eax+ecx*4],12345678

    第五种:【reg+reg*{1,2,4,8}+立即数】

    读取值

    mov eax,C1FAF4

    mov ecx,2

    mov edx,dword ptr ds:[eax+ecx*4+4]

    写入值

    mov eax,C1FAF4

    mov ecx,2

    mov dword ptr ds:[eax+ecx*4+4],12345678

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

    报告相同问题?

    问题事件

    • 已结题 (查看结题原因) 11月8日
    • 已采纳回答 11月8日
    • 创建了问题 11月8日

    悬赏问题

    • ¥30 遇到一个的问题,请教各位
    • ¥20 matlab报错,vflux计算潜流通量
    • ¥15 自己编写函数strlen(), strcpy(), strcmp(), strcat(), 没有编写main(),为什么测评结果都是错的,哪里出了问题
    • ¥15 我该如何实现鼠标按下GUI按钮时就执行按钮里面的操作的方法
    • ¥15 关于#硬件工程#的问题:我这边有个锁相环电路没有效果
    • ¥15 20款 27寸imac苹果一体机装win10后,蓝牙耳机和音响放歌曲卡顿断断续续.
    • ¥15 求解icon library .icl图标库文件
    • ¥15 VB.NET 父窗体调取子窗体报错
    • ¥15 python海龟作图如何改代码使其最后画出来的是一个镜像翻转的图形
    • ¥15 我不明白为什么c#微软的官方api浏览器为什么不支持函数说明的检索,有支持检索函数说明的工具吗?