我讲解这道题的⽬的是为了让⼤家理解结果为什么是那样的,假如对基础知识不是特别了解的⼈,可能会对答案有疑问,但是答案并没有详
细讲解为什么会得到哪些答案。
地址地址 值值
0x100 0xFF
0x108 0xAB
0x100 0xFF
0x100 0xFF
寄存器寄存器 值值
%rax 0x100
%rcx 0x1
%rdx 0x3
填写下表,给出下⾯之灵的效果,说明被更新的寄存器或内存位置,以及得到的值:
指令指令 ⽬的⽬的 值值
addq %rcx,(%rax)
subq %rdx,8(%rax)
imulq $16,(%rax,%rdx,8)
incq 16(%rax)
decq %rcx
subq %rdx,%rax
解答
其实这道题的难点还是在寄存器寻址上,假如对寄存器寻址不是特别清楚,那么这道题可能特别绕,下⾯我就讲解答案。
其他指令格式与上⾯相同,他的理解就是⽤D加上S放⼊D,这个放⼊D很关键。好了,下⾯进⾏答案讲解。