二進位制的加減法與標誌位CF OF數值的判斷方法

2021-10-04 12:23:10 字數 799 閱讀 5202

首先先來解釋一下標誌位of、cf不同數值所代表的含義

of為1時,代表有符號數越界,即當8位時,超出-128~127的範圍

of為0時,代表有符號數未越界

cf為1時,代表無符號數越界,即當8位時,超出0~255的範圍

cf為0時,代表無符號數未越界

另外cf在迴圈移位/移位類指令中用來儲存從最高位或最低位移出的0或1。

我們知道,當這個數是有符號數時,最高位是符號位,1代表負數,0代表負數。

現用emu8086編寫**如下

mov al, 10000111b

sub al, 00001000b

那麼執行過後,cf和of分別是什麼呢?

我們先看看負數的二進位制如何表示

負數由其絕對值再取反碼(除符號位)+1構成

例:-1的原碼:1000 0001

其反碼為:1111 1110

再加1得:1111 1111

那麼首先我們知道10000111b代表有符號數時是-121,代表無符號數時是135,

10000111b -121 135

00001000b 8 (或已經超出界限的-248)

那麼在執行**後得出

01111111

由於我們只有八位,無法顯示出更多,所以我們可以看出,若是有符號數

結果為-129,-129的二進位制數是

101111111,顯然越界,此時of為1

若是無符號數

結果為127,顯然不越界,此時cf為0

二進位制加 減法程式設計實驗

1 熟悉組合語言二進位制多位元組加法基本指令的使用方法 2 熟悉組合語言二進位制多位元組減法基本指令的使用方法 3 掌握組合語言程式設計的一般結構。1 硬體環境 微機cpu 486以上,500mb以上硬碟,32m以上記憶體 2 軟體環境 裝有masm 5.0 debug link和edit等應用程式...

二進位制底層加減法的實現原理

計算機底層儲存的基本單位為bit 也就是0與1,數字的表示也是以一串二進位制來表示。那麼如何通過一連串的二進位制來完成計算器的計算功能呢?何為原碼反碼補碼?在了解底層加減法之前,先了解下原碼反碼與補碼的區別 整數分為正整數與負整數 怎樣根據二進位制設定乙個數是正數還是負數?根據首位符號 0表示為正數...

二進位制的減法

這裡需要說明的是,在計算機中做二進位制數運算時,一定要明確是在多少位的整型前提下進行的,這樣才能夠正確處理位數溢位的問題。其實減法也可以看成加法 6 4 無論加減法總結 補碼相加 結果再求補碼 1表示負 0表示正 在計算機中,負數是使用它的補碼來表示的。所謂補碼,就是反碼 1。所謂反碼,就是二進位制...