装配addq澄清
问题描述:
我在审查一个机器体系结构考试的工作表,我想澄清我的教练提供的答案。他在之前的工作表上有几个错别字,所以我想确保他在这里是正确的。看看上面的图片,注意他说在指令后的目的地址是0x100,值是0x100,但是不正确的答案是目的地址:0x100(因括号而引起的%rax值)和0x1( %rcx的值)?提前致谢。装配addq澄清
编辑:固定所述图像
答
的addq a,b
指令增加了a
内容以b
。所以,如果rcx = 0x1
,rax = 0x100
我们在地址0x100
有0xff
,然后add %rcx,(%rax)
地址0x100
增加0x1
在rcx
到0xff
,在地址0x100
产生0x100
作为工作表正确指示。
你的直觉是正确的,如果该指令是movq
而不是addq
为movq
刚刚改写的存储位置或注册的,而不是添加到它。
非常感谢你。这就说得通了。 – awallace04
@ awallace04如果您的问题已解决,请不要忘记将答案标记为已接受! – fuz