2017-10-15 67 views
2

enter image description here我在审查一个机器体系结构考试的工作表,我想澄清我的教练提供的答案。他在之前的工作表上有几个错别字,所以我想确保他在这里是正确的。看看上面的图片,注意他说在指令后的目的地址是0x100,值是0x100,但是不正确的答案是目的地址:0x100(因括号而引起的%rax值)和0x1( %rcx的值)?提前致谢。装配addq澄清

编辑:固定所述图像

回答

2

addq a,b指令增加了a内容以b。所以,如果rcx = 0x1rax = 0x100我们在地址0x1000xff,然后add %rcx,(%rax)地址0x100增加0x1rcx0xff,在地址0x100产生0x100作为工作表正确指示。

你的直觉是正确的,如果该指令是movq而不是addqmovq刚刚改写的存储位置或注册的,而不是添加到它。

+0

非常感谢你。这就说得通了。 – awallace04

+0

@ awallace04如果您的问题已解决,请不要忘记将答案标记为已接受! – fuz