1
我有一個8080處理器的模擬器。我需要編寫一個程序,可以移動和添加多個兩位數字的數字(因此我可以預期四位數字)英特爾8080:乘法溢出
據我所知,intel-8080中的所有數學運算都是在註冊'A',但它只能包含兩位數字。如果我多「FF」和「FF」,我得到一個溢出。如何繞過這個問題?谷歌表示,這對我的工作有進位標誌,這將是「1」,如果溢出發生。
但我不明白,我怎麼可以使用它。
感謝您的關注。
我有一個8080處理器的模擬器。我需要編寫一個程序,可以移動和添加多個兩位數字的數字(因此我可以預期四位數字)英特爾8080:乘法溢出
據我所知,intel-8080中的所有數學運算都是在註冊'A',但它只能包含兩位數字。如果我多「FF」和「FF」,我得到一個溢出。如何繞過這個問題?谷歌表示,這對我的工作有進位標誌,這將是「1」,如果溢出發生。
但我不明白,我怎麼可以使用它。
感謝您的關注。
進位標誌就像是MSB(最高有效位)的額外位。
Intel 8080/8085 Assembly Programming Manual。
正如它的名字所暗示的那樣,進位標誌通常用於指示加法是否導致'carry'進入下一個更高位的數字。進位標誌也被用作減法中的'借位'標誌。
這意味着什麼,是,如果你有另外兩個數字,將溢出寄存器:
FF + FF = 1111_1111
+ 1111_1111
= 1111_1110 + carry = 1
AE + 74 = 1010_1110
+ 0111_0100
= 0010_0010 + carry = 1
一旦設定,進位標誌將一直保持,直到另一個另外的運行不導致攜帶。
A0 + 10 = 1010_0000
+ 0001_0000
= 1011_0000 + carry = 0