作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 SIB 字节对内存操作数进行编码,允许对索引和基址使用“无寄存器”。所以这应该是一个有效的指令:
03 04 25 10 32 54 76 – 添加eax,dword [0x76543210]
地址应该这样计算:1·0+0+0x76543210,并且不基于任何段寄存器。
在平面内存中,这不应该改变任何东西,但是如果ds
不为零,这与add eax, dword ds:0x76543210
不同吗?
最佳答案
在 16 位和 32 位操作模式中,指示无基址和无索引的 SIB 字节(即 04 +r 25
)简单地编码 32 位地址,就像 modr/m 字节05 +r
可以。这不会影响分段,ds
在这两种情况下都用于添加段基地址。
在长模式(64 位模式)下,modr/m 字节 05 +r
表示 rip
(分别为 eip
)相对值地址,而 04 +r 25
表示绝对地址。例如:
8b 05 XX XX XX XX is mov eax, [rip+XXXXXXXX]
8b 04 25 XX XX XX XX is mov eax, [XXXXXXXX]
关于assembly - x86 中没有段的直接寻址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45958502/
我正在尝试提供即时转码的视频。不幸的是,这意味着寻求不起作用。我假设这是因为浏览器不知道视频有多长,因此无法正确显示搜索栏。 有谁知道是否可以对视频的时长进行硬编码? 我想到的另一个选择可能是创建我自
我是一名优秀的程序员,十分优秀!