1.of和cf在彙編中搞了很久,終於有了一點頭緒了.'乙個數到底是有符號數還是無符號數,計算機並不知道,這是由你來決定'的這句話.現在理解如下:
*of 和 cf 這兩個標誌暫存器是分開來看的.編譯器把數字編譯成補碼的形式放到記憶體中
eg: mov al,100 ;補碼是64
add al,156 ;補碼是9c
在debug 中檢視是mov al,64
add al,9c
如果當做有符號看,乙個記憶體單元的存放數值範圍是-128~127
而9c的原始碼其實是被當做有符號的-64了所以在標誌暫存器中的of 是0,不會產生溢位,因為of 只管有符號的數的運算是否會超過那個數的範圍.
而cf 是管無符號的,就是無論補碼是什麼東西,都會一直的相加,只要沒有超過乙個單元表示的數值的範圍0~256,cf 的值都會是0,則上面的數
的運算結果是cf變成1
彙編 標誌暫存器
我們已經接觸過像ax bx cx si di ss cs等暫存器了,但是在8086cpu中有乙個比較特殊的暫存器 標誌暫存器 flag 2.基本介紹 與其他暫存器不同的是,標誌暫存器中儲存的不是資料,而是標誌狀態字 psw 而且其他暫存器都是作為乙個整體在使用,我們常說某某暫存器中放著某個資料,但是...
8089彙編 標誌暫存器
在8086cpu的指令集中,有的指令的執行是影響標誌暫存器的,比如 add sub mul div inc or and等,它們大都是運算指令,進行邏輯或算術運算 有的指令的執行對標誌暫存器沒有影響,比如 mov push pop等,它們大都是傳送指令。使用一條指令的時候,要注意這條指令的全部功能,...
組合語言 標誌暫存器
8086cpu的flag暫存器的結構如下所示。1,3行為標誌名,2,4行為位數。ofdf iftf 1514 1312 111098 sfzf afpfcf7 6543 210zf標誌 記錄相關指令執行後,其結果是否為0。pf標誌 記錄相關指令執行後,其結果的所有bit位中1的個數是否為偶數。of標...