汇编预备知识(二)
整數(shù)補碼的運算
模:計量器最大容量。如一個4位寄存器模為2^4,8位寄存器模為2^8。
求補運算
設(shè)X=+75,則[X]補=01001011。
設(shè)X=-75,則[X]補=10110101。
采用補碼進行加法運算的規(guī)則為:
[X+Y]補=[X]補+[Y]補
補碼劍法的規(guī)則為:
[X-Y]補=[X]補+[-Y]補
下面舉個列子:
設(shè)X=66,Y=54,以2^8為模,補碼運算為X±Y。
解:[X]補=01000010,[Y]補=00110011,[-Y]補=11001101
[X]補 01000010
+ [Y]補 00110011
--------------------------------------------------
[X+Y]補 01110101
[X]補 01000010
+ [-Y]補 11001101
--------------------------------------------------
[X-Y]補 ? 100001111
在[X-Y]補中最高位(第9位)被運算器丟棄,保留在位標志寄存器中
所以:X+Y=+117,X-Y=+15
下面舉一個溢出的情況
已2^8為模,補碼運算求66+99,-66-99。
解:因為[66]補=01000010,[99]補=01100011,[-66]補=10111110,[-99]補=1011101
[66]補 01000010
+ [99]補 01100011
--------------------------------------------------
[66+99]補 10100101
[-66]補 10111110
+ [-99]補 10011101
--------------------------------------------------
[-66-99]補 01011011
最高位(第9位)被運算器丟棄,保留在位標志寄存器中
得到:66+99=-91,-66-99=+91
這是因為運算結(jié)果超出了補碼表示的范圍,造成的溢出。
對于有符號數(shù)范圍為:
-2^8-1<=(X,Y,X+Y)<2^n-1
其中n為字長。
這節(jié)就到這,節(jié)說二進制的相關(guān)技巧和進位和溢出
新人創(chuàng)作打卡挑戰(zhàn)賽發(fā)博客就能抽獎!定制產(chǎn)品紅包拿不停!總結(jié)
- 上一篇: 平衡二叉树的实现原理
- 下一篇: ibm z系列服务器 cpu,全球最快C