下面的代码
section .data
Snippet db "KANGAROO"
section .text
global_start
_start:
mov ebx, Snippet
add byte [ebx], 32
将 BX 中的内存地址所指的数字加 32。但是add之后的字节说明符是什么?我的书中说,这意味着我们只将一个字节写入 EBX 中的内存地址。但我不太明白这意味着什么(我是汇编程序的初学者)。将一个字节写入内存地址意味着什么?写入超过一个字节意味着什么?
byte [EBX],或者在微软汇编器的情况下,byte ptr [EBX]告诉汇编器EBX是指向字节大小变量的指针。仅当使用立即值作为操作数时才需要像这样定义指针的类型。如果使用寄存器作为操作数,则汇编器假定大小与寄存器相同,例如 mov [ebx],al、mov [ebx],ax 或 mov[ebx],eax。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)