2014-11-05 50 views
0

我想添加兩個十六進制數字,例如$ E2 + $ 3C,我可以做得很好;但是,我不知道如何確定V,N,Z和C標誌值?添加字節並確定標誌值

任何幫助將非常感激。我一直在撓頭太久。

謝謝!

+0

他們在狀態寄存器。你的問題需要更多的背景。你在用C嗎?彙編?在彙編程序中,有幾個基於這些標誌的分支指令。在C中,查看'SREG'的位。 – UncleO 2014-11-05 21:31:18

+0

@UncleO感謝您的快速響應!這是集會,我的困惑是我認爲旗幟只是持有真假值?我只是不知道如何確定每個值。我只是說當添加0xE2和0x3C時C標誌被設置了嗎? – Skeeter 2014-11-05 21:37:58

+0

是的,進位標誌在寄存0xE2和0x3C時被設置。 0xE2的MSB爲1,結果的MSB爲0.(如果兩個數字的MSB均爲1,或者只有一個有MSB,MSB爲1,則結果爲MSB)。 – UncleO 2014-11-05 22:03:26

回答

1

標誌位是狀態寄存器中的位。它們通過一些指令(如ADD或ADC)設置或清除,但不是全部。

您可以直接查看狀態寄存器​​3210,但在彙編中,有根據這些位操作的分支指令。有關於分支指令的摘要。 9的instruction set manual

是否設置了標誌在每條指令的條目中都有詳細說明,例如,對於頁碼爲ADD的條目。 17.