版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、IBM-PC匯編語言程序設(shè)計匯編語言程序設(shè)計計算機科學(xué)與技術(shù)系計算機科學(xué)與技術(shù)系參考資料參考資料1.匯編語言匯編語言王爽王爽 清華大學(xué)出版社清華大學(xué)出版社2. IBM PC 匯編語言與程序設(shè)計例題習(xí)題集匯編語言與程序設(shè)計例題習(xí)題集 溫冬嬋溫冬嬋 沈美明沈美明 清華大學(xué)出版社清華大學(xué)出版社考核方式考核方式平時作業(yè)平時作業(yè) +出勤率出勤率 20上機實驗上機實驗 10%考考 試試 70 作業(yè)在每次上課的時候交到講臺上作業(yè)在每次上課的時候交到講臺上 計算機語言的發(fā)展計算機語言的發(fā)展 機器語言機器語言FORTRANBASICCOBOLPASCALC/C+JAVA.匯編語言匯編語言高級語言高級語言匯編語言
2、的特點匯編語言的特點 面向機器的低級語言,通常是為特定的計算面向機器的低級語言,通常是為特定的計算 機或計算機系列機或計算機系列專門設(shè)計的。專門設(shè)計的。 保持了機器語言的優(yōu)點,具有直接和簡捷保持了機器語言的優(yōu)點,具有直接和簡捷 的特點。的特點。 可有效地訪問、控制計算機的各種硬件設(shè)備可有效地訪問、控制計算機的各種硬件設(shè)備, , 如磁盤、存儲器、如磁盤、存儲器、CPUCPU、I/OI/O端口等。端口等。 目標(biāo)代碼簡短,占用內(nèi)存少,執(zhí)行速度快,目標(biāo)代碼簡短,占用內(nèi)存少,執(zhí)行速度快, 是高效的程序設(shè)計語言。是高效的程序設(shè)計語言。 經(jīng)常與高級語言配合使用,應(yīng)用十分廣泛。經(jīng)常與高級語言配合使用,應(yīng)用十分
3、廣泛。 學(xué)習(xí)匯編語言,重要的是掌握如何通過匯編指令和學(xué)習(xí)匯編語言,重要的是掌握如何通過匯編指令和程序來控制計算機各個組成部件工作,完成一系列程序來控制計算機各個組成部件工作,完成一系列任務(wù)。任務(wù)。 學(xué)會了匯編語言,就能夠?qū)W(xué)會了匯編語言,就能夠?qū)PU的寄存器進行控的寄存器進行控制和操作,掌握直接對計算機硬件編程的方法。制和操作,掌握直接對計算機硬件編程的方法。 本章介紹學(xué)習(xí)匯編語言所需的基本知識,并通過本章介紹學(xué)習(xí)匯編語言所需的基本知識,并通過具體的例子為讀者建立起匯編語言的初步概念。具體的例子為讀者建立起匯編語言的初步概念。為什么學(xué)習(xí)匯編語言#include stdafx.h #inclu
4、de stdio.h int main(int argc, char* argv) int a,b,c; a=1; b=2; c=a+b; printf(“c=%dn,c); return 0; 編譯后的目標(biāo)文編譯后的目標(biāo)文件達到件達到3.59KBdata segmenta db ?b db ?c db ?string db c=$data endscode segmentmain proc far assume cs:code, ds:data, es:datastart: push ds sub ax,ax push ax mov ax,data mov ds,ax mov es,axmo
5、v a,1 mov b,2 mov al,a add al,b mov c,al lea dx,string mov ah,09 int 21h add c,30h mov dl,c mov ah,2 int 21h mov dl,0ah int 21h mov dl,0dh int 21h retmain endpcode ends end start例例 2. C = a + b匯編后的目匯編后的目標(biāo)文件只有標(biāo)文件只有208字節(jié)字節(jié)目標(biāo):目標(biāo): 了解匯編語言的特性及其編程技術(shù),了解匯編語言的特性及其編程技術(shù), 建立起建立起“機器機器”和和“程序程序”、“空間空間”和和“時間時間”的概念。的
6、概念。建議:建議: 充分注意充分注意“匯編匯編”課實踐性強的特點,課實踐性強的特點, 多讀程序多讀程序,多寫程序多寫程序,多上機調(diào)試程序多上機調(diào)試程序, 熟悉熟悉PC機的編程結(jié)構(gòu),機的編程結(jié)構(gòu), 掌握匯編語言及其程序設(shè)計的基本概掌握匯編語言及其程序設(shè)計的基本概 念、方法和技巧。念、方法和技巧。計算機以二進制數(shù)為基礎(chǔ)。那么計算機以二進制數(shù)為基礎(chǔ)。那么控制計算機工作的機器指令就由控制計算機工作的機器指令就由二進制數(shù)構(gòu)成,而機器指令的集二進制數(shù)構(gòu)成,而機器指令的集合稱之為機器語言。合稱之為機器語言。如果想讓計算機工作,就要寫出如果想讓計算機工作,就要寫出一系列二進制的機器碼。一系列二進制的機器碼。匯
7、編語言基本概念匯編語言基本概念二進制表示二進制表示 十六進制表示十六進制表示101110000010001100000000101110000010001100000000 B82300 B82300 000001010001101100000000000001010001101100000000 051B00 051B00 101000110000010000000000101000110000010000000000 A30400 A30400 例如計算例如計算Z=35+27Z=35+27,寫成機器指令為:,寫成機器指令為:用指令助記符表示如下:用指令助記符表示如下:MOV AX,35AD
8、D AX,27MOV Z,AX特點:簡單直觀特點:簡單直觀 這些助記符就是匯編指令,用匯編指這些助記符就是匯編指令,用匯編指令編寫的程序稱為匯編語言。令編寫的程序稱為匯編語言。 匯編指令可以翻譯成二進制的機器指令匯編指令可以翻譯成二進制的機器指令代碼。代碼。一、一、N進制數(shù)進制數(shù)二、二、二進制數(shù)和十六進制數(shù)運算二進制數(shù)和十六進制數(shù)運算三、三、計算機內(nèi)數(shù)的表示計算機內(nèi)數(shù)的表示四、四、二進制編碼二進制編碼第一節(jié)第一節(jié) 進位記數(shù)制與不同基數(shù)的數(shù)之間的轉(zhuǎn)換進位記數(shù)制與不同基數(shù)的數(shù)之間的轉(zhuǎn)換1N進制數(shù)的表示法進制數(shù)的表示法2N進制數(shù)與十進制數(shù)的轉(zhuǎn)換進制數(shù)與十進制數(shù)的轉(zhuǎn)換3二進制與十六進制數(shù)的轉(zhuǎn)換二進制與
9、十六進制數(shù)的轉(zhuǎn)換一、一、N進制數(shù)進制數(shù)1. N進制數(shù)的表示法進制數(shù)的表示法l 十進制數(shù)十進制數(shù) 基數(shù)基數(shù)10 , 遵循逢遵循逢10進位進位數(shù)碼數(shù)碼10個個 :0,1,2,3,4,5,6,7,8,9 如:如: (123. 5)10 或或123. 5D 或或 123. 5數(shù)值大小計算數(shù)值大小計算:123. 5 = 1 102 + 2 101 + 3 100 + 5 10-1l N進制數(shù)進制數(shù)基數(shù)基數(shù)N , 遵循逢遵循逢N進位進位數(shù)碼數(shù)碼N個個:0,1,2, 、 ,N-1數(shù)值大小計算數(shù)值大小計算:(AnAn-1 、A0 . A-1A-2 、A-m)N= An Nn + An-1 Nn-1+ 、 +
10、A1 N1 + A0N0+ A-1 N-1 + A-2 N-2 + 、 + A-m N-ml二進制數(shù)二進制數(shù)基數(shù)基數(shù)2 , 遵循逢遵循逢2進位進位數(shù)碼數(shù)碼2個個:0,1( 1011011 ) 2 或或 1011011 B= 1 25 + 0 24+ 1 23+ 1 22 + 0 21+ 1 20 + 1 2-1 = 455Dl 十六進制數(shù)十六進制數(shù) 基數(shù)基數(shù)16 , 遵循逢遵循逢16進位進位 數(shù)碼數(shù)碼16個個:0,1,、,、 ,9,A,B,C,D,E,F(xiàn)16進制的進制的09與與10進制的進制的09相等相等例:例:( BF3C8 )16 或或 BF3C8 H=11 163 + 15 16 2+
11、3 161+ 12 160 +8 16-1=489565D十六進制數(shù)十六進制數(shù)ABCDEF十進制數(shù)十進制數(shù)1011121314152. N進制數(shù)與十進制數(shù)的轉(zhuǎn)換進制數(shù)與十進制數(shù)的轉(zhuǎn)換 1) N進制數(shù)進制數(shù) 十進制數(shù)十進制數(shù) 方法方法: 與數(shù)值大小計算過程相同。與數(shù)值大小計算過程相同。加權(quán)運算加權(quán)運算 例:例: 1011011 B = 1 25 + 0 24+ 1 23+ 1 22 +0 21 + 1 20 + 1 2-1 = 455 D BF3C8 H = 11 163 + 15 16 2+ 3 161+ 12 160 + 8 16-1 = 489565D2) 十進制數(shù)十進制數(shù) N進制數(shù)進制數(shù)
12、用除法和乘法完成用除法和乘法完成 整數(shù)部分:除整數(shù)部分:除N取余取余,商零為止,結(jié)果先低后高,商零為止,結(jié)果先低后高 小數(shù)部分:乘小數(shù)部分:乘N取整取整,到零為止,結(jié)果先高后低,到零為止,結(jié)果先高后低方法:方法:182D-2進制進制0.875D- 2進制進制182/2=91 余余0 20位取位取 00.875*2=1.75 取整取整 2-1位取位取191/2=45 余余121位取位取10.75*2=1.5取整取整 2-2位取位取145/2=22余余122位取位取10.5*2=1取整取整 2-3位取位取122/2=11余余023位取位取00取整取整 2-4位取位取011/2=5余余124位取位取
13、15/2=2余余025位取位取02/2=1余余026位取位取01/2=0結(jié)束結(jié)束27位取位取1結(jié)果結(jié)果:10010110B=182D0.875D=0.111B整數(shù)部分:除整數(shù)部分:除N取余,商零為止,結(jié)果先低后高取余,商零為止,結(jié)果先低后高例例1 十進制數(shù)十進制數(shù) 二進制數(shù)二進制數(shù)125. 125D 二進制數(shù)二進制數(shù) 2 125 取余取余 2 62 1 低位低位 2 31 0 2 15 1 2 7 1 2 3 1 2 1 1 0 1 高位高位 先低后高先低后高, 故:故: 125D = 111 1101B商為商為 0小數(shù)部分:乘小數(shù)部分:乘N取整,到零為止,結(jié)果先高后低取整,到零為止,結(jié)果先高
14、后低 取整取整 0. 125 2 = 0. 25 0 高位高位 0. 25 2 = 0. 5 0 0. 5 2 = 1. 0 1 低位低位 先高后低先高后低, 故故 : 0. 125D =0. 001B將整數(shù)部分和小數(shù)部分結(jié)合起來,將整數(shù)部分和小數(shù)部分結(jié)合起來,故:故:125. 125D = 111 1101. 001B小數(shù)為小數(shù)為 0例例2 十進制數(shù)十進制數(shù) 十六進制數(shù)十六進制數(shù) 125. 125D 十六進制數(shù)十六進制數(shù)整數(shù)部分:除整數(shù)部分:除N取余,商零為止,結(jié)果先低后高取余,商零為止,結(jié)果先低后高 16 125 取余取余 16 7 13 低位低位D 0 7 高位高位7 故:故: 125D
15、 = 7DH 小數(shù)部分:乘小數(shù)部分:乘N取整,到零為止,結(jié)果先高后低取整,到零為止,結(jié)果先高后低 取整取整 0. 125 16 = 2. 0 2 故:故: 0. 125D = 0. 2H將整數(shù)部分和小數(shù)部分結(jié)合,將整數(shù)部分和小數(shù)部分結(jié)合,125. 125D =7D. 2H小數(shù)為小數(shù)為 0商為商為 0若小數(shù)部分永不為零,可取近似值。若小數(shù)部分永不為零,可取近似值。 例例 0. 7 D = ? H 0. 7 16 = 11. 2 0. 2 16 = 3. 2 0. 2 16 = 3. 2故故 0. 7 D = 0. B333 H3. 二進制數(shù)與十六進制數(shù)的轉(zhuǎn)換二進制數(shù)與十六進制數(shù)的轉(zhuǎn)換1) 二進制
16、數(shù)與十六進制數(shù)間的關(guān)系二進制數(shù)與十六進制數(shù)間的關(guān)系2) 二進制數(shù)二進制數(shù) 十六進制數(shù)十六進制數(shù)3) 十六進制數(shù)十六進制數(shù) 二進制數(shù)二進制數(shù)思考思考:如何將位數(shù)較長的如何將位數(shù)較長的10進制數(shù)快速轉(zhuǎn)換進制數(shù)快速轉(zhuǎn)換為為2進制數(shù)進制數(shù)?1) 二進制數(shù)與十六進制數(shù)間的關(guān)系二進制數(shù)與十六進制數(shù)間的關(guān)系 十六進制數(shù)的基數(shù)十六進制數(shù)的基數(shù) 16 = 24 1位十六進制數(shù)對應(yīng)位十六進制數(shù)對應(yīng)4位二進制數(shù)位二進制數(shù)十十進進制制數(shù)數(shù) 二二進進制制數(shù)數(shù) 十十六六進進制制數(shù)數(shù)000000100011200102300113401004501015601106701117810008910019101010A1110
17、11B121100C131101D141110E151111F2) 二進制數(shù)二進制數(shù) 十六進制數(shù)十六進制數(shù)方法:方法:以小數(shù)點為基準(zhǔn),分別向左和向右每以小數(shù)點為基準(zhǔn),分別向左和向右每4位劃為一組,位劃為一組,不足不足4位用位用0補,每一組用其對應(yīng)的十六進制數(shù)代替。補,每一組用其對應(yīng)的十六進制數(shù)代替。例:例:11110. 01B = 0001 1110. 0100 B = 1 E . 4 H1111101. 001B = 0111 1101. 0010 B = 7 D . 2 H 3) 十六進制數(shù)十六進制數(shù) 二進制數(shù)二進制數(shù) 方法:方法: 將每位十六進制數(shù)用其對應(yīng)的將每位十六進制數(shù)用其對應(yīng)的4位
18、二進制數(shù)代替即可。位二進制數(shù)代替即可。例例 :1E. 4H = 0001 1110. 0100B = 11110. 01B7D. 2H = 0111 1101. 0010B = 111 1101. 001Bl l 十進制數(shù)與二進制數(shù)之間的轉(zhuǎn)換需計算,不直觀;十進制數(shù)與二進制數(shù)之間的轉(zhuǎn)換需計算,不直觀;l 二進制表示的數(shù)位多不便于書寫、閱讀;二進制表示的數(shù)位多不便于書寫、閱讀; l 十六進制數(shù)與二進制數(shù)間轉(zhuǎn)換方便、直觀,十六進制數(shù)與二進制數(shù)間轉(zhuǎn)換方便、直觀, 相對于二進制數(shù),十六進制數(shù)書寫、閱讀相對方便。相對于二進制數(shù),十六進制數(shù)書寫、閱讀相對方便。 思考:思考:計算機采用二進制形式表示數(shù)據(jù)和指
19、令,計算機采用二進制形式表示數(shù)據(jù)和指令, 在書寫,顯示上在書寫,顯示上引進十六進制的意義引進十六進制的意義是什么?是什么? 計算機內(nèi)部使用十六進制嗎?計算機內(nèi)部使用十六進制嗎?1. 算術(shù)運算算術(shù)運算二進制數(shù)和十六進制數(shù)加、減、乘、除二進制數(shù)和十六進制數(shù)加、減、乘、除, 與十進制數(shù)類似與十進制數(shù)類似2. 邏輯運算邏輯運算 (第三章邏輯指令中介紹第三章邏輯指令中介紹) 二進制數(shù)運算,與、或、非、異或,特點:按位進行二進制數(shù)運算,與、或、非、異或,特點:按位進行第二節(jié)第二節(jié) 二進制數(shù)和十六進制數(shù)運算二進制數(shù)和十六進制數(shù)運算1. 1. 算術(shù)運算算術(shù)運算1)二進制數(shù))二進制數(shù) 加法加法 逢逢2進進1 減
20、法減法 借借1為為28位運算器:參加運算的數(shù)及結(jié)果均以位運算器:參加運算的數(shù)及結(jié)果均以8位表示位表示, , 最高位產(chǎn)生的進位或借位在最高位產(chǎn)生的進位或借位在8位運算器中不保存,位運算器中不保存, 而將其保存到標(biāo)志寄存器中而將其保存到標(biāo)志寄存器中 1 0 1 1 0 1 0 1 0 1 0 0 0 1 0 0 + + 1 0 0 0 1 1 1 1 - - 1 0 1 0 0 1 0 1 進位進位 1 1 1 1 1 1 1 借位借位 1 1 1 1 1 1 1 0 1 0 0 0 1 0 0 1 0 0 1 1 1 1 1例例 二進制運算二進制運算 ( (以以8位運算器為例)位運算器為例)2)
21、 十六進制數(shù)十六進制數(shù) 加法加法 逢逢16進進1 減法減法 借借1為為16 B 5 H 4 4 H + 8 F H - A 5 H 進位進位 1 1 借位借位 1 1 4 4 H 9 F H例例 十六進制運算十六進制運算 1 0 1 1 0 1 0 1 B 0 1 0 0 0 1 0 0 B + + 1 0 0 0 1 1 1 1 B - - 1 0 1 0 0 1 0 1 B 進位進位 1 1 1 1 1 1 1 借位借位 1 1 1 1 1 1 1 0 1 0 0 0 1 0 0 B 1 0 0 1 1 1 1 1 B結(jié)果與二進制計算相同:結(jié)果與二進制計算相同:1無符號數(shù)無符號數(shù)2帶符號數(shù)
22、帶符號數(shù)1) 求補運算求補運算2) 補碼補碼3) 補碼的真值計算補碼的真值計算4) 用補碼表示帶符號數(shù)的意義用補碼表示帶符號數(shù)的意義38位、位、16位數(shù)的表示范圍位數(shù)的表示范圍4進位、借位、溢出的判斷進位、借位、溢出的判斷第三節(jié)第三節(jié) 計算機中數(shù)和字符的表示計算機中數(shù)和字符的表示1. 無符號數(shù)無符號數(shù) 二進制數(shù)的各位均表示數(shù)值大小,最高位無符號意義。二進制數(shù)的各位均表示數(shù)值大小,最高位無符號意義。 例例 1111 0000 B = F0H = 1516 = 240D 1001 0001 B = 91H = 916 + 1= 145 D 應(yīng)用場合:應(yīng)用場合: 處理的數(shù)全是正數(shù)時,如表示地址的數(shù)處
23、理的數(shù)全是正數(shù)時,如表示地址的數(shù)2. 帶符號數(shù)帶符號數(shù)l 數(shù)有正、負(fù)數(shù)有正、負(fù) 帶符號數(shù)帶符號數(shù)l 在計算機中符號也用二進制數(shù)表示在計算機中符號也用二進制數(shù)表示l 計算機中用計算機中用補碼補碼表示帶符號數(shù)表示帶符號數(shù)計算機中正負(fù)計算機中正負(fù)數(shù)的表示數(shù)的表示 7 6 5 4 3 2 1 0符號位符號位 數(shù)值位數(shù)值位假設(shè)機器字長字長為16位:符號位符號位 = 0 正數(shù)正數(shù) 數(shù)值位數(shù)值位 = 1 負(fù)數(shù)負(fù)數(shù)15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0假設(shè)機器字長字長為8位:1) 求補運算求補運算原碼表示法:原碼表示法:符號符號 + 絕對值絕對值例:例:n = 8bit +
24、3原碼原碼 = 0 000,0011 = 03H - 3原碼原碼 = 1 000,0011 = 83H +0原碼原碼 = 0 000,0000 = 00H - 0原碼原碼 = 1 000,0000 = 80H 0 的表示不惟的表示不惟一一反碼表示法:反碼表示法:正數(shù)的反碼同原碼,負(fù)數(shù)的反碼數(shù)值位與原碼相正數(shù)的反碼同原碼,負(fù)數(shù)的反碼數(shù)值位與原碼相反反例:例:n = 8bit +5反碼反碼 = 0 000,0101 = 05H - 5反碼反碼 = 1 111,1010 = FAH +0反碼反碼 = 0 000,0000 = 00H - 0反碼反碼 = 1 111,1111 = FFH 0 的表示不
25、惟的表示不惟一一 對一個二進制數(shù)按位取反,最低位加對一個二進制數(shù)按位取反,最低位加1。 等價于:等價于: 0 - - 該二進制數(shù)該二進制數(shù) 求補運算:求補運算:正數(shù)的補碼:正數(shù)的補碼: 同原碼負(fù)數(shù)的補碼負(fù)數(shù)的補碼:例:例:對對 8 位位二進制數(shù)二進制數(shù) 11110001B進行求補運算進行求補運算方法方法1:按位取反,最低位加:按位取反,最低位加1 1111 00011111 0001 B B 取反取反 0000 1110 B0000 1110 B 加加1 11 1 0000 11110000 1111 B B 最高位借位最高位借位超出超出8位位自然丟失自然丟失方法方法2: 0 - - 該二進制
26、數(shù)該二進制數(shù) 0000 0000 B 0 0 H0000 0000 B 0 0 H - - 1111 00011111 0001 B - B - F 1F 1 H H 0000 11110000 1111 B B 0 F0 F H H2) 補碼補碼在計算機中,用補碼表示在計算機中,用補碼表示帶符號數(shù)帶符號數(shù)。 補碼的表示方法:補碼的表示方法: 正數(shù)的補碼正數(shù)的補碼:最高位為:最高位為 0, 其它各位為數(shù)字位,表示數(shù)的大小。其它各位為數(shù)字位,表示數(shù)的大小。 所以,整數(shù)的補碼同原碼所以,整數(shù)的補碼同原碼 負(fù)數(shù)的補碼負(fù)數(shù)的補碼:通過對該數(shù)正數(shù)的補碼進行:通過對該數(shù)正數(shù)的補碼進行求補運算求補運算得到。
27、得到。 負(fù)數(shù)的補碼最高位為負(fù)數(shù)的補碼最高位為 1。例例 求求 105D 的補碼的補碼 2 105 2 52 1 2 26 0 2 13 0 2 6 1 2 3 0 2 1 1 0 1 正數(shù)的補碼:最高位為正數(shù)的補碼:最高位為0 其它各位為數(shù)字位,表示數(shù)的大小。其它各位為數(shù)字位,表示數(shù)的大小。 105D 補補= 0110 1001B = 69 H (8位位)= 0000 0000 0110 1001 B= 0069 H (16位位)例例 求求 105D的補碼的補碼負(fù)數(shù)的補碼:通過對該數(shù)正數(shù)的補碼進行求補運算得到。負(fù)數(shù)的補碼:通過對該數(shù)正數(shù)的補碼進行求補運算得到。16位位: 105D 補補 = 0
28、 105D 補補 = 0 0000 0000 0110 1001B = 0 0069H = 1111 1111 1001 0111B = F F 9 7 H 8位位: 105D 補補 = 0 105D 補補 = 0 0110 1001B = 0 69H = 10010111B = 97 H3) 補碼的真值計算補碼的真值計算 真值真值:補碼表示的數(shù)值大小。:補碼表示的數(shù)值大小。 D 2000:0 ;顯示內(nèi)存塊顯示內(nèi)存塊2000:07Fh單元的單元的內(nèi)容內(nèi)容2000:0000 9E 0F C9 D8 65 04 70 00-16 00 13 08 65 04 70 00 2000:0000 9E
29、0F C9 D8 65 04 70 00-16 00 13 08 65 04 70 00 2000:0010 65 04 70 00 54 FF 00 F0-58 7F 00 F0 F5 E7 00 F02000:0010 65 04 70 00 54 FF 00 F0-58 7F 00 F0 F5 E7 00 F02000:0020 00 00 00 D0 28 00 13 08-6F EF 00 F0 6F EF 00 F02000:0020 00 00 00 D0 28 00 13 08-6F EF 00 F0 6F EF 00 F02000:0030 6F EF 00 F0 6F EF
30、 00 F0-9A 00 13 08 65 04 70 002000:0030 6F EF 00 F0 6F EF 00 F0-9A 00 13 08 65 04 70 002000:0040 07 00 70 D0 4D F8 00 F0-41 F8 00 F0 07 25 61 FD2000:0040 07 00 70 D0 4D F8 00 F0-41 F8 00 F0 07 25 61 FD2000:0050 39 E7 00 F0 40 02 5C 02-2D 04 70 00 28 0A 5C 032000:0050 39 E7 00 F0 40 02 5C 02-2D 04 70
31、 00 28 0A 5C 032000:0060 A4 E7 00 F0 2F 00 D4 08-6E FE 00 F0 04 06 5C 032000:0060 A4 E7 00 F0 2F 00 D4 08-6E FE 00 F0 04 06 5C 032000:0070 1D 00 00 D0 A4 F0 00 F0-22 05 00 00 34 12 00 C02000:0070 1D 00 00 D0 A4 F0 00 F0-22 05 00 00 34 12 00 C0如,如,用用DEBUG查看到存放在內(nèi)存中的一組符號數(shù):查看到存放在內(nèi)存中的一組符號數(shù):如何知道它們表示的大???如何
32、知道它們表示的大???求補碼真值的方法:求補碼真值的方法: 先判斷是正數(shù),還是負(fù)數(shù)。先判斷是正數(shù),還是負(fù)數(shù)。 由最高位判斷:由最高位判斷:0 正數(shù)正數(shù) 1 負(fù)數(shù)負(fù)數(shù) 再求數(shù)值大小再求數(shù)值大小 對正數(shù),補碼的真值等于該二進制數(shù)值。對正數(shù),補碼的真值等于該二進制數(shù)值。對負(fù)數(shù),先對該數(shù)進行求補運算,再求數(shù)值大小。對負(fù)數(shù),先對該數(shù)進行求補運算,再求數(shù)值大小。例例 求補碼求補碼7D H 的真值的真值: 7D H = 0111 1101B , 最高位為最高位為0,是正數(shù),是正數(shù) 7DH的真值的真值 = 7 16 + 13 = 125 D例例 求補碼求補碼 91H 的真值的真值: 91H = 1001 000
33、1B, 最高位為最高位為1 ,是負(fù)數(shù)。,是負(fù)數(shù)。 對對91H進行求補運算:進行求補運算: 91H 求求 補補 00H 91H = 6F H 91H的真值的真值 = 6FH = ( 6 16 +15 ) = 111D4)用補碼表示帶符號數(shù)的意義用補碼表示帶符號數(shù)的意義 計算機中用補碼表示帶符號數(shù)。計算機中用補碼表示帶符號數(shù)。(1) 將減法用加法實現(xiàn),省去減法器,簡化硬件。將減法用加法實現(xiàn),省去減法器,簡化硬件。計算機中,減法實現(xiàn)過程:計算機中,減法實現(xiàn)過程:(補碼減法)(補碼減法) 先對減數(shù)進行求補運算(求反加先對減數(shù)進行求補運算(求反加1,也是加法),也是加法) 再將求補后的數(shù)與被減數(shù)相加再將
34、求補后的數(shù)與被減數(shù)相加 相加的結(jié)果即為用補碼表示的兩數(shù)相減結(jié)果。相加的結(jié)果即為用補碼表示的兩數(shù)相減結(jié)果。 01011010 1 01011011 01000100 01000100B - - 10100101B 計算:計算: 10011111計算機中實現(xiàn)過程:計算機中實現(xiàn)過程:補碼減法補碼減法的計算結(jié)果與的計算結(jié)果與常規(guī)減法常規(guī)減法的結(jié)果相同。的結(jié)果相同。人在計算時,可用常規(guī)減法人在計算時,可用常規(guī)減法 (補碼減法,對人來說,相對復(fù)雜補碼減法,對人來說,相對復(fù)雜)補碼減法:補碼減法: 01000100 B - - 10100101 B 借位借位 1 111111 10011111 B常規(guī)減法:
35、常規(guī)減法: 01011010 1 01011011 01000100 01000100B - - 10100101B 計算:計算: 100111112) 無符號數(shù)及帶符號數(shù)的加減運算用同一電路完成。無符號數(shù)及帶符號數(shù)的加減運算用同一電路完成。在在計計算算機機中中計計算算看看作作無無符符號號數(shù)數(shù)看看作作帶帶符符號號數(shù)數(shù) 1 11 11 11 1 0 00 00 01 1 + + 0 00 00 00 0 1 11 10 00 0 1 11 11 11 1 1 11 10 01 1 2 24 41 1 + + 1 12 2 2 25 53 3 ( 1 15 5) + + (+ +1 12 2) 3
36、 3 1 11 11 11 1 0 00 00 01 1 0 00 00 00 0 1 11 10 00 0 1 11 11 10 0 0 01 10 01 1 2 24 41 1 1 12 2 2 22 29 9 ( 1 15 5) (+ +1 12 2) 2 27 7例例: 8位運算器位運算器即指令系統(tǒng)中加、減運算即指令系統(tǒng)中加、減運算不區(qū)分不區(qū)分無符號數(shù)或帶符號數(shù)。無符號數(shù)或帶符號數(shù)。3. 8位、位、16位二進制數(shù)的表示范圍位二進制數(shù)的表示范圍無無符符號號數(shù)數(shù)帶帶符符號號數(shù)數(shù)8位位0 255- -128 12716位位0 65535- -32768 32767規(guī)定規(guī)定: 8位位 1000 0000B 即即 80H為為 128D 16位位 1000 0000 0000 0000B 即即 8000H 為為 32768D4. 進位、借位、溢出的判斷進位、借位、溢出的判斷1) 進位進位 在加法過程中,最高有效位向高位產(chǎn)生進位。在加法過程中,最高有效位向高位產(chǎn)生進位。 對對 8位運算,指位運算,指D7產(chǎn)生進位產(chǎn)生進位 對對16位運算,指位運算,指D15產(chǎn)生進位產(chǎn)生進位2) 借位借位 在減法過程中,最高有效位向高位產(chǎn)生借位。在減法過程中,最高有效位向高位產(chǎn)生借位。 對對 8位運算,指位運算,指D7產(chǎn)生借位產(chǎn)生借位 對對16位運算,指位運算,指D15產(chǎn)生借位產(chǎn)生借位3) 溢
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公共衛(wèi)生法律法規(guī)-深度研究
- 2025年度個人教育培訓(xùn)擔(dān)保合同規(guī)范范本4篇
- 可再生能源融資模式-第1篇-深度研究
- 2025年廣東南方職業(yè)學(xué)院高職單招數(shù)學(xué)歷年(2016-2024)頻考點試題含答案解析
- 2025年山西老區(qū)職業(yè)技術(shù)學(xué)院高職單招語文2018-2024歷年參考題庫頻考點含答案解析
- 2025年山西電力職業(yè)技術(shù)學(xué)院高職單招高職單招英語2016-2024歷年頻考點試題含答案解析
- 2025年度車載泵租賃項目投資與管理合同3篇
- 重組竹熱壓過程板坯應(yīng)力-應(yīng)變響應(yīng)特性研究
- 2025年宣化科技職業(yè)學(xué)院高職單招語文2018-2024歷年參考題庫頻考點含答案解析
- 2025年安徽糧食工程職業(yè)學(xué)院高職單招高職單招英語2016-2024歷年頻考點試題含答案解析
- 2024人教版高中英語語境記單詞【語境記單詞】新人教版 選擇性必修第2冊
- 能源管理總結(jié)報告
- 挖掘機售后保養(yǎng)及維修服務(wù)協(xié)議(2024版)
- 充電樁巡查記錄表
- 阻燃材料的阻燃機理建模
- CJT 511-2017 鑄鐵檢查井蓋
- 配電工作組配電網(wǎng)集中型饋線自動化技術(shù)規(guī)范編制說明
- 2024高考物理全國乙卷押題含解析
- 介入科圍手術(shù)期護理
- 青光眼術(shù)后護理課件
- 設(shè)立工程公司組建方案
評論
0/150
提交評論