在x86-64程序集中,我有以下说明
mov dx, word [esi-5]Nasm 2.13.03生成:
66 67 8B 56 FB yasm 1.3.0生成:
67 66 8B 56 FB 66 67操作码是修饰符,因此8B 56 FB本身是:
mov edx, dword [rsi-5]我注意到:
66 8B 56 FB 还评价如下:
mov dx, word [rsi-5]我有两个问题:
1)为什么nasm & yasm会发出这个67操作码字节填充?(67本身还不足以将edx简化为dx,它需要包含66 )
( 2)在nasm / yasm中是否有一种不需要 67的较短的4字节指令67?
发布于 2018-03-25 15:01:39
这一问题使假假设66 8B 56 FB
mov dx, word [rsi-5] 等于
`66 67 8B 56 FB` or `67 66 8B 56 FB`
mov dx, word [esi-5] 66将edx还原为dx
67将[rsi-5]还原为[esi-5]
https://stackoverflow.com/questions/49476930
复制相似问题