如何解决MOD_RM字节的Disp8与Disp32
在MOD_RM字节的MOD部分中,对于模式可以为以下四个值:
-
11
-使用寄存器 -
10
-32位位移 -
01
-8位位移
从这里:https://docs.python.org/3/library/exceptions.html#ModuleNotFoundError
它给出的示例是:
MOD R/M Addressing Mode
=== === ================================
00 000 [ eax ]
01 000 [ eax + disp8 ] (1)
10 000 [ eax + disp32 ]
我不太确定我了解32位和8位位移之间的区别。以下是什么示例?
# sorry this is using ATT syntax not Intel
movb $1,(%eax)
movw $1,2(%eax)
movl $1,(%eax,%eax)
movq $1,2(%eax,2(%rax,%rdi)
movq $1,%rdi,4)
内存地址中使用的第二个寄存器的大小是32位还是8位?如果是这样,为什么在MOD
中不包含16位或64位位移?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。