0
我是一名机械工程师,目前我正在学习ARM处理器。我刚刚遇到了一个问题,但我不明白他们如何能够得出这些答案。需要帮助理解。另外请帮助如何从负十进制转换为十六进制。谢谢。需要帮助理解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
这是一个相当广泛的问题。你能对你不明白的事情做出非常具体的描述吗?要将十进制转换为负值,首先将十进制转换为正值,反转位,向LSB中加1。 – 2014-01-26 02:28:37
[标志的含义](http://infocenter.arm.com/help/topic/com.arm.doc.dui0473h/Chdijedg.html),[二的补充表示](http://en.wikipedia.org /维基/两%27s_complement)。至少_try _... – Notlikethat