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