gpt4 book ai didi

assembly - 80386 - cpu如何选择movzbw和movzbl

转载 作者:行者123 更新时间:2023-12-03 06:30:12 31 4
gpt4 key购买 nike

movzbwmovzbl 的操作码都是 OF B6。我不明白如何通过观察 ModR/M<​​/em> 字节来区分它们。来自 Intel 80386 Programmer's Reference Manual (1986) :

MOVZX  ── Move with Zero-Extend

Opcode Instruction Clocks Description
0F B6 /r MOVZX r16,r/m8 3/6 Move byte to word with zero-extend
0F B6 /r MOVZX r32,r/m8 3/6 Move byte to dword, zero-extend
0F B7 /r MOVZX r32,r/m16 3/6 Move word to dword, zero-extend

处理器如何区分movzbwmovzbl

最佳答案

看起来它使用了前缀字节:

66 0f b6 c0             movzx  ax,al
0f b6 c0 movzx eax,al
0f b7 c0 movzx eax,ax

编辑:注意,在64位模式下,上面是相同的,但有另一个前缀:

48 0f b6 c0             movzx  rax,al
48 0f b7 c0 movzx rax,ax

请注意,没有 movzx rax, eax 指令。

(我对此完全是新手,所以我无法准确解释原因,我只是向编译器抛出代码,看看它是否被接受)。

关于assembly - 80386 - cpu如何选择movzbw和movzbl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33061162/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com