汇编字节ptr含义

Art*_*yśk 1 x86 assembly

ecx我有一些字符串,例如"abc".

mov ah, BYTE PTR [ecx+0]
mov al, BYTE PTR [ecx+1]
Run Code Online (Sandbox Code Playgroud)

它到底有什么作用?就像ah我有"a"al我有"b"

fuz*_*fuz 5

byte ptr表示内存操作数是指内存中的字节,而不是字或双字。通常,这可以省略,因为汇编器可以从所使用的寄存器推断操作数大小,但有些指令mov [eax],0无法推断大小,因此需要byte ptr,word ptr或前缀。dword ptr

  • 或者使用像 MASM 这样的汇编器,我认为您需要 `mov al, byte ptr [my_dword_location]` 来根据您声明数据的方式覆盖与标签关联的隐含操作数大小,如果您想加载不符合的大小匹配“dword”或“byte”或标签后面的任何内容。 (2认同)