• 2022-06-03
    都是获取偏移地址,为什么指令“LEAEBX,[ESI]”正确,而指令“MOVEBX,OFFSET[ESI]”就错误?
  • 前者在指令执行时获得偏移地址,是正确的;但后者的OFFSET只能在汇编阶段获得偏移地址,但此时寄存器内容是不可知的,所以无法获得偏移地址。

    内容

    • 0

      中国大学MOOC: 对于IA-32中的指令“movl 8(%edx, %esi, 4), %edx”,若R[edx]=0000 01B6H,R[esi]=0000 0008H,其源操作数的有效地址EA是( )。

    • 1

      对于IA-32中的指令“movl8(%edx,%esi,4),%edx”,若R[edx]=000001B6H,R[esi]=00000008H,其源操作数的有效地址EA是()。 A: 000001B6H B: 000001DEH C: 000001F0H D: 000006E8H

    • 2

      legacy [5le^Esi]

    • 3

      中国大学MOOC: 指令“mov esi,[ebp+4]”的源操作数来自_____________。

    • 4

      MOV EAX, [EBX] [ESI] 指令的源操作数采用( )寻址方式。 A: 基址变址 B: 寄存器 C: 寄存器相对 D: 存储器间接