我是一名机械英语学生,我目前正在研究ARM处理器。我刚刚遇到一个问题,但我不明白他们是如何得出这些答案的。需要帮助理解。另请帮助我们如何从负十进制转换为十六进制。谢谢。
在ARM中执行以下计算的结果是什么?怎么样 是否设置了状态标志? (以32位写入操作数和结果 十六进制表示法!)
- ( - 1)+(+1)
- (0) - (+1)
- (2 ^ 31 - 1)+(+1)
- ( - 4)+(+ 5)
醇>
答案是:
( - 1)+(+ 1):
-1: 0xFFFFFFFF
1: 0x00000001
----------------
0: 0x00000000
N=0, Z=1, C=1, V=0
(0) - (+ 1):减法由加法和否定代替=> (0)+( - 1)
0: 0x00000000
-1: 0xFFFFFFFF
----------------
0: 0xFFFFFFFF
N=1, Z=0, C=0, V=0
(2 ^ 31-1)+(+ 1):
: 0x7FFFFFFF
1: 0x00000001
----------------
0: 0x80000000
N=1, Z=0, C=0, V=1
( - 4)+(+ 5):
-4: 0xFFFFFFFC
5: 0x00000005
----------------
1: 0x00000001
N=0, Z=0, C=1, V=0
答案 0 :(得分:0)
将负二进制转换为hexa的方法称为two's complement
状态标志是: