我添加了以下内容,并被要求编写CCR标志的值是什么。我的问题是,我不知道如何找出是否发生了溢出。这是因为我不知道是把它当作2的补码还是不带符号的。有没有人能告诉我,当我面临其他问题时,我该如何找出答案?
$FF + 1:
1 1 1 1 1 1 1 1
+ 0 0 0 0 0 0 0 1
-----------------
(1) 0 0 0 0 0 0 0 0发布于 2014-10-27 04:34:33
CCR寄存器用于未签名和已签名的帐户。Wikipedia sums it up nicely.
发布于 2014-10-27 07:44:56
Zenexer的一个补充:在您的示例中,第9位转到进位(这就是名称的由来)。
如果最高位在有符号的观点中“意外”改变,则设置V(溢出):也就是说,如果将两个带有msb=0的数字相加,并且结果的最高有效位变为1(就好像两个正数之和将给出负结果)。这是一个(签名的)溢出。
发布于 2014-10-28 01:33:24
最好也是第一个要检查的地方是处理器手册,它可以在这里免费获得:http://www.freescale.com/files/archives/doc/ref_manual/M68000PRM.pdf
具体来说,请查阅第3-2节和表3-18 (整数单位条件代码计算),其中列出了处理器用来更新CCR状态的布尔方程。
https://stackoverflow.com/questions/26577539
复制相似问题