匯編語言設(shè)計(jì)實(shí)踐:第1部分 匯編語言介紹_第1頁
匯編語言設(shè)計(jì)實(shí)踐:第1部分 匯編語言介紹_第2頁
匯編語言設(shè)計(jì)實(shí)踐:第1部分 匯編語言介紹_第3頁
匯編語言設(shè)計(jì)實(shí)踐:第1部分 匯編語言介紹_第4頁
匯編語言設(shè)計(jì)實(shí)踐:第1部分 匯編語言介紹_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1匯編語言設(shè)計(jì)實(shí)踐匯編語言設(shè)計(jì)實(shí)踐2匯編語言設(shè)計(jì)實(shí)踐匯編語言設(shè)計(jì)實(shí)踐1.1. 課程學(xué)時(shí):課程學(xué)時(shí):322. 2. 先修課程:先修課程:計(jì)算機(jī)導(dǎo)論、計(jì)算機(jī)組織與結(jié)構(gòu)3. 成績(jī)?cè)u(píng)定辦法:成績(jī)?cè)u(píng)定辦法:考勤20%+實(shí)驗(yàn)報(bào)告50%+成果展示30%4. 參考教材:參考教材:匯編語言(第2版)王爽著 清華大學(xué)出版社3第一部分第一部分 匯編語言介紹匯編語言介紹 1.匯編語言的概念匯編語言的概念 2.匯編語言的特點(diǎn)匯編語言的特點(diǎn)3.進(jìn)位計(jì)數(shù)制及其相互轉(zhuǎn)換進(jìn)位計(jì)數(shù)制及其相互轉(zhuǎn)換4.帶符號(hào)數(shù)的表示帶符號(hào)數(shù)的表示5.字符的表示字符的表示 6.基本邏輯運(yùn)算基本邏輯運(yùn)算 41.1 匯編語言的概念匯編語言的概念 計(jì)算機(jī)程

2、序設(shè)計(jì)語言可分為計(jì)算機(jī)程序設(shè)計(jì)語言可分為機(jī)器語言機(jī)器語言、高級(jí)高級(jí)語言語言和和匯編語言匯編語言三類。三類。 (1) 機(jī)器語言機(jī)器語言 機(jī)器語言就是直接把控制計(jì)算機(jī)的機(jī)器語言就是直接把控制計(jì)算機(jī)的命令命令和和各各種數(shù)據(jù)種數(shù)據(jù)用用二進(jìn)制數(shù)碼二進(jìn)制數(shù)碼表示的一種程序設(shè)計(jì)語言。表示的一種程序設(shè)計(jì)語言。 例例 要實(shí)現(xiàn)將寄存器要實(shí)現(xiàn)將寄存器AH的內(nèi)容與數(shù)的內(nèi)容與數(shù)10相加,結(jié)果相加,結(jié)果再送回到寄存器再送回到寄存器AH中。中。 1011 0100 0000 1010 用機(jī)器語言實(shí)現(xiàn)上述操作的代碼:用機(jī)器語言實(shí)現(xiàn)上述操作的代碼:5優(yōu)點(diǎn)優(yōu)點(diǎn) 機(jī)器語言最直接地表示了計(jì)算機(jī)內(nèi)部的基操機(jī)器語言最直接地表示了計(jì)算機(jī)內(nèi)

3、部的基操作,用它編制的程序在計(jì)算機(jī)中運(yùn)行的效率最高作,用它編制的程序在計(jì)算機(jī)中運(yùn)行的效率最高。即運(yùn)行速度最快,程序長(zhǎng)度最短。即運(yùn)行速度最快,程序長(zhǎng)度最短。 缺點(diǎn)缺點(diǎn) 用二進(jìn)制數(shù)表示的內(nèi)容既不便于記憶又難于用二進(jìn)制數(shù)表示的內(nèi)容既不便于記憶又難于閱讀。閱讀。 6(2) 高級(jí)語言高級(jí)語言 高級(jí)語言將計(jì)算機(jī)內(nèi)部的操作細(xì)節(jié)屏蔽起高級(jí)語言將計(jì)算機(jī)內(nèi)部的操作細(xì)節(jié)屏蔽起來,用戶不需要知道計(jì)算機(jī)內(nèi)部數(shù)據(jù)的傳送和來,用戶不需要知道計(jì)算機(jī)內(nèi)部數(shù)據(jù)的傳送和處理的細(xì)節(jié),使用類似于自然語言的一些語句處理的細(xì)節(jié),使用類似于自然語言的一些語句來編制程序,完成指定的任務(wù)。來編制程序,完成指定的任務(wù)。 特點(diǎn)特點(diǎn):程序設(shè)計(jì)簡(jiǎn)單,但

4、程序效率較機(jī)器語言低。:程序設(shè)計(jì)簡(jiǎn)單,但程序效率較機(jī)器語言低。 7(3) 匯編語言匯編語言 (i)定義)定義 為了便于記憶和閱讀,就出現(xiàn)了使用字母為了便于記憶和閱讀,就出現(xiàn)了使用字母和符號(hào)(匯編指令、偽指令等)來表示機(jī)器語和符號(hào)(匯編指令、偽指令等)來表示機(jī)器語言的命令,用十進(jìn)制數(shù)或十六進(jìn)制數(shù)等來表示言的命令,用十進(jìn)制數(shù)或十六進(jìn)制數(shù)等來表示數(shù)據(jù),這樣的面向機(jī)器的程序設(shè)計(jì)語言就稱為數(shù)據(jù),這樣的面向機(jī)器的程序設(shè)計(jì)語言就稱為匯編語言。匯編語言。8 (ii)匯編語言程序與機(jī)器語言程序的關(guān)系)匯編語言程序與機(jī)器語言程序的關(guān)系例如:匯編語句例如:匯編語句 MOV DS,AX 對(duì)應(yīng)機(jī)器指令為:對(duì)應(yīng)機(jī)器指令為

5、: (iii)不同類型計(jì)算機(jī)有不同的機(jī)器指令系統(tǒng)和匯編)不同類型計(jì)算機(jī)有不同的機(jī)器指令系統(tǒng)和匯編語言描述語言描述 為了學(xué)習(xí)和使用某種計(jì)算機(jī)的匯編語言,必須熟為了學(xué)習(xí)和使用某種計(jì)算機(jī)的匯編語言,必須熟悉計(jì)算機(jī)的內(nèi)部組成結(jié)構(gòu)。但并非要掌握組成計(jì)算機(jī)悉計(jì)算機(jī)的內(nèi)部組成結(jié)構(gòu)。但并非要掌握組成計(jì)算機(jī)系統(tǒng)的全部硬件,只需掌握用匯編語言編制程序時(shí)所系統(tǒng)的全部硬件,只需掌握用匯編語言編制程序時(shí)所涉及到的那些硬件的結(jié)構(gòu)和功能。涉及到的那些硬件的結(jié)構(gòu)和功能。 一條匯編語言程序的語句與一條機(jī)器語言指令一條匯編語言程序的語句與一條機(jī)器語言指令對(duì)應(yīng)對(duì)應(yīng),匯編語言程序與機(jī)器語言程序效率相同匯編語言程序與機(jī)器語言程序效率相

6、同. 8ED8(二進(jìn)制數(shù)表示為:(二進(jìn)制數(shù)表示為:10001110 11011000)9第一部分第一部分 匯編語言介紹匯編語言介紹 1.匯編語言的概念匯編語言的概念 2.匯編語言的特點(diǎn)匯編語言的特點(diǎn)3.進(jìn)位計(jì)數(shù)制及其相互轉(zhuǎn)換進(jìn)位計(jì)數(shù)制及其相互轉(zhuǎn)換4.帶符號(hào)數(shù)的表示帶符號(hào)數(shù)的表示5.字符的表示字符的表示 6.基本邏輯運(yùn)算基本邏輯運(yùn)算 101.2 匯編語言的匯編語言的 特點(diǎn)特點(diǎn) 1. 學(xué)習(xí)和使用匯編語言可以從根本上認(rèn)識(shí)、理學(xué)習(xí)和使用匯編語言可以從根本上認(rèn)識(shí)、理解計(jì)算機(jī)的工作過程。解計(jì)算機(jī)的工作過程。 通過用匯編語言編制程序可以更清楚地了解計(jì)通過用匯編語言編制程序可以更清楚地了解計(jì)算機(jī)是如何完成各種

7、復(fù)雜的工作。在此基礎(chǔ)上,算機(jī)是如何完成各種復(fù)雜的工作。在此基礎(chǔ)上,程序設(shè)計(jì)人員能更充分地利用機(jī)器硬件的全部功程序設(shè)計(jì)人員能更充分地利用機(jī)器硬件的全部功能,發(fā)揮機(jī)器的長(zhǎng)處。能,發(fā)揮機(jī)器的長(zhǎng)處。 2. 在計(jì)算機(jī)系統(tǒng)中,某些功能必須用匯編語言程序在計(jì)算機(jī)系統(tǒng)中,某些功能必須用匯編語言程序來實(shí)現(xiàn)。來實(shí)現(xiàn)。 如:機(jī)器自檢、系統(tǒng)初始化、實(shí)際的輸入輸出設(shè)備的如:機(jī)器自檢、系統(tǒng)初始化、實(shí)際的輸入輸出設(shè)備的操作等。操作等。11在某些要求節(jié)省內(nèi)存空間和提高程序運(yùn)行速度的在某些要求節(jié)省內(nèi)存空間和提高程序運(yùn)行速度的應(yīng)用場(chǎng)合。如實(shí)時(shí)過程控制等,常常用匯編語言應(yīng)用場(chǎng)合。如實(shí)時(shí)過程控制等,常常用匯編語言來編制程序。來編制程

8、序。 3. 匯編語言程序的效率高于高級(jí)語言程序匯編語言程序的效率高于高級(jí)語言程序 “效率效率”有兩個(gè)方面的含義:程序的目標(biāo)代碼長(zhǎng)度有兩個(gè)方面的含義:程序的目標(biāo)代碼長(zhǎng)度和運(yùn)行的速度。和運(yùn)行的速度。12匯編語言的特點(diǎn)匯編語言的特點(diǎn)匯編語言與處理器密切相關(guān),匯編語言程序的通用匯編語言與處理器密切相關(guān),匯編語言程序的通用性、可移植性較差性、可移植性較差匯編語言功能有限、涉及硬件細(xì)節(jié),編寫繁瑣,調(diào)匯編語言功能有限、涉及硬件細(xì)節(jié),編寫繁瑣,調(diào)試、維護(hù)困難試、維護(hù)困難匯編語言本質(zhì)上就是機(jī)器語言,可以直接、有效地匯編語言本質(zhì)上就是機(jī)器語言,可以直接、有效地控制計(jì)算機(jī)硬件,易于產(chǎn)生速度快、容量小的高效率控制計(jì)算

9、機(jī)硬件,易于產(chǎn)生速度快、容量小的高效率目標(biāo)程序目標(biāo)程序 在本課程中,將以Intel 8086/8088微處理器及其匯編語言為例,初步掌握8086/8088宏匯編語言程序設(shè)計(jì)的基本方法和技巧。131.匯編語言的概念匯編語言的概念 2.匯編語言的特點(diǎn)匯編語言的特點(diǎn)3.進(jìn)位計(jì)數(shù)制及其相互轉(zhuǎn)換進(jìn)位計(jì)數(shù)制及其相互轉(zhuǎn)換4.帶符號(hào)數(shù)的表示帶符號(hào)數(shù)的表示5.字符的表示字符的表示 6.基本邏輯運(yùn)算基本邏輯運(yùn)算 第一部分第一部分 匯編語言介紹匯編語言介紹 141.3 進(jìn)位計(jì)數(shù)制及其相互轉(zhuǎn)換進(jìn)位計(jì)數(shù)制及其相互轉(zhuǎn)換 一一. 進(jìn)位計(jì)數(shù)制進(jìn)位計(jì)數(shù)制 使用一定個(gè)數(shù)的數(shù)碼的組合來表示數(shù)字,這種使用一定個(gè)數(shù)的數(shù)碼的組合來表示數(shù)

10、字,這種表示方法稱為進(jìn)位計(jì)數(shù)制。由于可以使用的數(shù)碼表示方法稱為進(jìn)位計(jì)數(shù)制。由于可以使用的數(shù)碼的個(gè)數(shù)不同,就有不同的進(jìn)位計(jì)數(shù)制。的個(gè)數(shù)不同,就有不同的進(jìn)位計(jì)數(shù)制。 如十進(jìn)制數(shù),用如十進(jìn)制數(shù),用0、19十個(gè)數(shù)碼的組合來表示數(shù)十個(gè)數(shù)碼的組合來表示數(shù)字。每個(gè)數(shù)碼排在不同位置,所表示的數(shù)值大小字。每個(gè)數(shù)碼排在不同位置,所表示的數(shù)值大小不相同。不相同。 例如:例如:222從右邊開始從右邊開始,第一個(gè)第一個(gè)2表示表示2個(gè)個(gè)1,第二,第二個(gè)個(gè)2表示有表示有2個(gè)個(gè)10,第三個(gè),第三個(gè)2表示有表示有2個(gè)個(gè)100. 15mniiimmnnnnkkkkkkkD1010.101010.101022110011基數(shù)基數(shù)權(quán)

11、權(quán) 逢十進(jìn)一逢十進(jìn)一十進(jìn)制十進(jìn)制 借一當(dāng)十借一當(dāng)十90ik對(duì)于十進(jìn)制數(shù)對(duì)于十進(jìn)制數(shù)D,可表示為,可表示為將各個(gè)位置上所表示的數(shù)值權(quán)重稱為位權(quán)將各個(gè)位置上所表示的數(shù)值權(quán)重稱為位權(quán), 簡(jiǎn)稱簡(jiǎn)稱權(quán)。權(quán)。 每個(gè)數(shù)位上能使用不同數(shù)碼的個(gè)數(shù)稱為基數(shù)。每個(gè)數(shù)位上能使用不同數(shù)碼的個(gè)數(shù)稱為基數(shù)。 16mniiimmnnnnRkRkRkRkRkRkRkS.22110011基數(shù)基數(shù)權(quán)權(quán) 逢逢R進(jìn)一進(jìn)一R進(jìn)制進(jìn)制 借一當(dāng)借一當(dāng)R10Rki對(duì)于任意對(duì)于任意R進(jìn)制的進(jìn)制的S,可表示為,可表示為17 在計(jì)算機(jī)中主要采用二進(jìn)制數(shù),因?yàn)樗谠谟?jì)算機(jī)中主要采用二進(jìn)制數(shù),因?yàn)樗谟?jì)算機(jī)中最容易表示和存儲(chǔ),且適合于邏輯值計(jì)算機(jī)中最容

12、易表示和存儲(chǔ),且適合于邏輯值表達(dá)與運(yùn)算。表達(dá)與運(yùn)算。 對(duì)人來說二進(jìn)制不便于書寫和閱讀,因此書寫時(shí)對(duì)人來說二進(jìn)制不便于書寫和閱讀,因此書寫時(shí)常使用常使用8進(jìn)制和進(jìn)制和16進(jìn)制。進(jìn)制。二進(jìn)制與二進(jìn)制與8進(jìn)制、進(jìn)制、16進(jìn)制之間有非常簡(jiǎn)單的轉(zhuǎn)換關(guān)進(jìn)制之間有非常簡(jiǎn)單的轉(zhuǎn)換關(guān)系。系。3位二進(jìn)制數(shù)與一位位二進(jìn)制數(shù)與一位8進(jìn)制數(shù)對(duì)應(yīng),進(jìn)制數(shù)對(duì)應(yīng),4位二進(jìn)制位二進(jìn)制數(shù)與一位數(shù)與一位16進(jìn)制數(shù)對(duì)應(yīng)進(jìn)制數(shù)對(duì)應(yīng)。 18mniiimmnnnnkkkkkkkS22.222.2222110011基數(shù)基數(shù)權(quán)權(quán)321012321212021202121011.1101二進(jìn)制數(shù)二進(jìn)制數(shù)1101.011,可表示為,可表示為對(duì)于二

13、進(jìn)制數(shù)對(duì)于二進(jìn)制數(shù)S,可表示為,可表示為 逢二進(jìn)一逢二進(jìn)一二進(jìn)制二進(jìn)制 借一當(dāng)二借一當(dāng)二1 , 0ik19 在書寫不同進(jìn)位計(jì)數(shù)制數(shù)時(shí),為了區(qū)別,常在書寫不同進(jìn)位計(jì)數(shù)制數(shù)時(shí),為了區(qū)別,常在數(shù)的尾部用一個(gè)字母來表示。在數(shù)的尾部用一個(gè)字母來表示。 B(Binary) 二進(jìn)制數(shù)二進(jìn)制數(shù)O (Octal) 八進(jìn)制數(shù)八進(jìn)制數(shù)D (Decimal) 十進(jìn)制數(shù)十進(jìn)制數(shù)H (Hexadecimal) 十六進(jìn)制數(shù)。十六進(jìn)制數(shù)。如未使用任何字母,則默認(rèn)表示是十進(jìn)制數(shù)。如未使用任何字母,則默認(rèn)表示是十進(jìn)制數(shù)。 例如十進(jìn)制例如十進(jìn)制205可以表示為:可以表示為:205 = 1100 1101B = 205D = 0CD

14、H = 315O20二二. 各種數(shù)制間的相互轉(zhuǎn)換各種數(shù)制間的相互轉(zhuǎn)換 由于二進(jìn)制與八進(jìn)制和十六進(jìn)制間的轉(zhuǎn)換很簡(jiǎn)單,由于二進(jìn)制與八進(jìn)制和十六進(jìn)制間的轉(zhuǎn)換很簡(jiǎn)單,下面主要討論二進(jìn)制與十進(jìn)制之間的相互轉(zhuǎn)換。下面主要討論二進(jìn)制與十進(jìn)制之間的相互轉(zhuǎn)換。 1. 十進(jìn)制整數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)十進(jìn)制整數(shù)轉(zhuǎn)換為二進(jìn)制數(shù) 有兩種轉(zhuǎn)換方法有兩種轉(zhuǎn)換方法: (1)減權(quán)定位法減權(quán)定位法 (2)除基取余法除基取余法 (1)減權(quán)定位法)減權(quán)定位法l從二進(jìn)制數(shù)高位起,依次用待轉(zhuǎn)換的十進(jìn)制數(shù)與各從二進(jìn)制數(shù)高位起,依次用待轉(zhuǎn)換的十進(jìn)制數(shù)與各位權(quán)值進(jìn)行比較;位權(quán)值進(jìn)行比較;l如夠減,則該數(shù)位系數(shù)如夠減,則該數(shù)位系數(shù)Ki=1,同時(shí)減去該

15、位權(quán)值,同時(shí)減去該位權(quán)值,余數(shù)作為下一次比較的值;余數(shù)作為下一次比較的值;l如不夠減,則如不夠減,則Ki=0 。l直到余數(shù)為直到余數(shù)為0為止為止21例:將例:將325轉(zhuǎn)換為二進(jìn)制數(shù),直到余數(shù)為轉(zhuǎn)換為二進(jìn)制數(shù),直到余數(shù)為0。首先確定二進(jìn)制數(shù)的最高位首先確定二進(jìn)制數(shù)的最高位因?yàn)橐驗(yàn)?9(512)32528(256)。因此從。因此從K8位開始比較。位開始比較。 減數(shù)比較減數(shù)比較 Ki 對(duì)應(yīng)二進(jìn)制數(shù)對(duì)應(yīng)二進(jìn)制數(shù)325-256=69 K8 169128 K7 069-64=5 K6 1532 K5 0516 K4 058 K3 05-4=1 K2 112 K1 01-1=0 K0 1所以所以 325D=

16、101000101B 2200111122.22kkkkSnnnn2)2.22(2001211kkkkSnnnn商商如果余數(shù)為如果余數(shù)為0,則,則k0為為0。如果余數(shù)為如果余數(shù)為1,則,則k0為為1余數(shù)余數(shù)對(duì)于任意的十進(jìn)制數(shù)對(duì)于任意的十進(jìn)制數(shù)S可用二進(jìn)制表示為可用二進(jìn)制表示為上式兩邊同除以基數(shù)上式兩邊同除以基數(shù)2(2) 除基取余數(shù)除基取余數(shù) 23 將十進(jìn)制數(shù)除以基數(shù)將十進(jìn)制數(shù)除以基數(shù)2,其余數(shù)為二進(jìn)制數(shù)的最,其余數(shù)為二進(jìn)制數(shù)的最低位,再用其商除低位,再用其商除2,其余數(shù)為次低位,反復(fù)做下,其余數(shù)為次低位,反復(fù)做下去,直到商去,直到商0. 這種轉(zhuǎn)換方法同樣適合于其它進(jìn)制數(shù)之間的轉(zhuǎn)換。這種轉(zhuǎn)換方法

17、同樣適合于其它進(jìn)制數(shù)之間的轉(zhuǎn)換。 除基除基余數(shù)余數(shù)Ki2 3252 1622 812 402 202 102 52 22 10101000101K0K1K2K3K4K5K6K7K8242.十進(jìn)制小數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)十進(jìn)制小數(shù)轉(zhuǎn)換為二進(jìn)制數(shù) 例例 將十進(jìn)制數(shù)將十進(jìn)制數(shù)0.645轉(zhuǎn)換為二進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù) (1) 減權(quán)定位法減權(quán)定位法 轉(zhuǎn)換時(shí)應(yīng)根據(jù)程序要求的精度或計(jì)算機(jī)的字長(zhǎng)來確轉(zhuǎn)換時(shí)應(yīng)根據(jù)程序要求的精度或計(jì)算機(jī)的字長(zhǎng)來確定二進(jìn)制的位數(shù)定二進(jìn)制的位數(shù).減權(quán)比較減權(quán)比較Ki對(duì)應(yīng)二進(jìn)制數(shù)對(duì)應(yīng)二進(jìn)制數(shù)0.645-0.5 =0.145 K-1 10.1450.25 K-2 00.145-0.125=0.0

18、2 K-3 10.020.0625 K-4 00.020.03125 K-5 00.02-0.015625 K-6 1所以所以 0.645D=0.101001B25nnnnkkkkS22.22) 1() 1(2211)22.2(2) 1() 2() 1(121nnnnkkkkS(2)乘基取整法)乘基取整法 兩邊同時(shí)乘以基數(shù)兩邊同時(shí)乘以基數(shù)226例例 將將0.8125D轉(zhuǎn)換為二進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)乘以基數(shù)乘以基數(shù) Ki 整數(shù)部分整數(shù)部分 0.812521.625 K-1 10.62521.25 K-2 10.2520.5 K-3 00.521. K-4 1一直計(jì)算到無小數(shù)部分為止一直計(jì)算到無小數(shù)

19、部分為止所以所以 0.8125D0.1101B273. 二進(jìn)制整數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)二進(jìn)制整數(shù)轉(zhuǎn)換為十進(jìn)制數(shù) (1)按權(quán)相加法)按權(quán)相加法 例例 1 0100 0101B1281261221202566441325D28(2)逐次乘基相加法)逐次乘基相加法021012312012110011112.)2)2)2(.(.2)2).22(2).22(22.22kkkkkkkkkkkkkkkkknnnnnnnnnnnnnnn1 0 1 0 0 0 1 0 1324 222222223252410204080162101000101=325D294. 二進(jìn)制小數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)二進(jìn)制小數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)(1)

20、按權(quán)相加法)按權(quán)相加法例例 0.101001B= 12-112-312-60.5+0.125+0.01560.640625D30(2)逐次除基相加法)逐次除基相加法轉(zhuǎn)換從最低位開始轉(zhuǎn)換從最低位開始2).)2)2)2(.(2.2222.21)2()1(11)1()1()1()1(11kkkkkkkkkknnnnnnnnnnn例例 0. 1 0 1 0 0 12222220.101001B0.640625D0.640625 0.28125 0.5625 0.1250.250.5315. 二進(jìn)制與八進(jìn)制和十六進(jìn)制間的轉(zhuǎn)換二進(jìn)制與八進(jìn)制和十六進(jìn)制間的轉(zhuǎn)換二進(jìn)制與八進(jìn)制和十六進(jìn)制之間的對(duì)應(yīng)關(guān)系很簡(jiǎn)單:二

21、進(jìn)制與八進(jìn)制和十六進(jìn)制之間的對(duì)應(yīng)關(guān)系很簡(jiǎn)單:三位二進(jìn)制數(shù)對(duì)應(yīng)一位八進(jìn)制數(shù),四位二進(jìn)制數(shù)對(duì)三位二進(jìn)制數(shù)對(duì)應(yīng)一位八進(jìn)制數(shù),四位二進(jìn)制數(shù)對(duì)應(yīng)一位十六進(jìn)制數(shù)。應(yīng)一位十六進(jìn)制數(shù)。例如:例如:10100010B2所以所以 10100010B=242O10100010B = 1010 0010BA 2所以所以 10100010B = A2H=0A2H=010 100 010B24321.4 帶符號(hào)數(shù)的表示帶符號(hào)數(shù)的表示 在一般算術(shù)表示中使用在一般算術(shù)表示中使用”+”和和”-“來表示正數(shù)與負(fù)數(shù),而來表示正數(shù)與負(fù)數(shù),而在計(jì)算機(jī)中使用在計(jì)算機(jī)中使用”0”和和”1”來表示正數(shù)和負(fù)數(shù)。來表示正數(shù)和負(fù)數(shù)。 用用+或或-

22、表示正負(fù)的數(shù)叫真值。用表示正負(fù)的數(shù)叫真值。用0或或1表示正負(fù)的數(shù)叫機(jī)器數(shù)。表示正負(fù)的數(shù)叫機(jī)器數(shù)。 帶符號(hào)的機(jī)器數(shù)可以用原碼、反碼和補(bǔ)碼三種不同碼制來帶符號(hào)的機(jī)器數(shù)可以用原碼、反碼和補(bǔ)碼三種不同碼制來表示。一般計(jì)算機(jī)中大多采用補(bǔ)碼表示。表示。一般計(jì)算機(jī)中大多采用補(bǔ)碼表示。 一、原碼表示一、原碼表示 二進(jìn)制數(shù)的最高位表示符號(hào),二進(jìn)制數(shù)的最高位表示符號(hào),0表示正,表示正,1表示負(fù)。數(shù)值表示負(fù)。數(shù)值 部分部分用二進(jìn)制數(shù)絕對(duì)值表示用二進(jìn)制數(shù)絕對(duì)值表示 33 8位二進(jìn)制數(shù)原碼的最大數(shù)為位二進(jìn)制數(shù)原碼的最大數(shù)為01111111(+127) 最小數(shù)為最小數(shù)為11111111 (-127) 8位二進(jìn)制數(shù)表示范圍

23、:位二進(jìn)制數(shù)表示范圍:127X+1270的原碼有兩種表示形式的原碼有兩種表示形式:00000000和和10000000(+0和和-0) 二、補(bǔ)碼的表示二、補(bǔ)碼的表示 1.補(bǔ)碼的定義補(bǔ)碼的定義 帶符號(hào)數(shù)帶符號(hào)數(shù)X的補(bǔ)碼表示的補(bǔ)碼表示X補(bǔ)補(bǔ)定義為:定義為:X補(bǔ)補(bǔ)M+X (Mod M) 其中模數(shù)其中模數(shù)M根據(jù)機(jī)器數(shù)的位數(shù)而定,如位數(shù)為根據(jù)機(jī)器數(shù)的位數(shù)而定,如位數(shù)為8則則M=28 用補(bǔ)碼表示的機(jī)器數(shù),符號(hào)位仍然表示數(shù)的符號(hào):用補(bǔ)碼表示的機(jī)器數(shù),符號(hào)位仍然表示數(shù)的符號(hào):0為正為正,1為為負(fù)。對(duì)于正數(shù),補(bǔ)碼與原碼相同,對(duì)于負(fù)數(shù)需要進(jìn)行變換。負(fù)。對(duì)于正數(shù),補(bǔ)碼與原碼相同,對(duì)于負(fù)數(shù)需要進(jìn)行變換。 34 2.由

24、真值、原碼變換為補(bǔ)碼由真值、原碼變換為補(bǔ)碼 由于正數(shù)的原碼與補(bǔ)碼相同,下面討論負(fù)數(shù)的變換方法。由于正數(shù)的原碼與補(bǔ)碼相同,下面討論負(fù)數(shù)的變換方法。 負(fù)數(shù)的真值變換為補(bǔ)碼的方法:將各位變反(負(fù)數(shù)的真值變換為補(bǔ)碼的方法:將各位變反(0變變1,1變變0)然后在最低位加然后在最低位加1.負(fù)數(shù)的原碼變換為補(bǔ)碼:保持符號(hào)位不變,其余各位變反,負(fù)數(shù)的原碼變換為補(bǔ)碼:保持符號(hào)位不變,其余各位變反,最低位加最低位加1。例例 將將59變換為補(bǔ)碼變換為補(bǔ)碼真值真值 00111011 B變反變反 11000100 B加加1 11000101 B所以所以 -59補(bǔ)補(bǔ)11000101 B原碼原碼 10111011 B變反變

25、反 11000100 B加加1 11000101 B353.補(bǔ)碼數(shù)的表示范圍補(bǔ)碼數(shù)的表示范圍當(dāng)位數(shù)為當(dāng)位數(shù)為8時(shí),最大補(bǔ)碼為時(shí),最大補(bǔ)碼為01111111B=+127補(bǔ)補(bǔ) 最小補(bǔ)碼為最小補(bǔ)碼為10000000B=-128補(bǔ)補(bǔ)0的補(bǔ)碼只有一個(gè),的補(bǔ)碼只有一個(gè), 0補(bǔ)補(bǔ)=00000000B,而,而10000000B=-128補(bǔ)補(bǔ) 11111111B=-1補(bǔ)補(bǔ)對(duì)于對(duì)于16位數(shù),則補(bǔ)碼表示范圍為位數(shù),則補(bǔ)碼表示范圍為-32768+32767 4. 補(bǔ)碼的加減運(yùn)算補(bǔ)碼的加減運(yùn)算 規(guī)則:規(guī)則:X+Y補(bǔ)補(bǔ)=X補(bǔ)補(bǔ)+Y補(bǔ)補(bǔ) X-Y補(bǔ)補(bǔ)=X補(bǔ)補(bǔ)Y補(bǔ)補(bǔ)=X補(bǔ)補(bǔ)+-Y補(bǔ)補(bǔ)36(1)加法運(yùn)算:)加法運(yùn)算:X+Y例例1

26、 X=74D Y=41DX補(bǔ)補(bǔ)01001010B Y補(bǔ)補(bǔ)00101001B01001010B00101001B01110011B所以所以 X補(bǔ)補(bǔ)Y補(bǔ)補(bǔ)01110011B115補(bǔ)補(bǔ)例例2 X=74D Y=-41DX補(bǔ)補(bǔ)01001010B Y補(bǔ)補(bǔ)11010111B01001010B11010111B00100001B1自動(dòng)自動(dòng)舍去舍去所以所以 X補(bǔ)補(bǔ)Y補(bǔ)補(bǔ)00100001B33補(bǔ)補(bǔ)37例例 3 X=-74D Y=41DX補(bǔ)補(bǔ)10110110B Y補(bǔ)補(bǔ)00101001B10110110B00101001B+11011111B所以所以 X補(bǔ)補(bǔ)Y補(bǔ)補(bǔ)11011111B-33補(bǔ)補(bǔ)例例4 X=-74D Y=

27、-41DX補(bǔ)補(bǔ)10110110B Y補(bǔ)補(bǔ)11010111B10110110B11010111B+10001101B1自動(dòng)自動(dòng)舍去舍去所以所以 X補(bǔ)補(bǔ)Y補(bǔ)補(bǔ)10001101B=-115補(bǔ)補(bǔ)38(2) 減法運(yùn)算減法運(yùn)算例例5 X=74D Y=41DX補(bǔ)補(bǔ)01001010B Y補(bǔ)補(bǔ)00101001B -Y補(bǔ)補(bǔ)=11010111B01001010 B11010111 B00100001 B1自動(dòng)自動(dòng)舍去舍去所以所以 X補(bǔ)補(bǔ)Y補(bǔ)補(bǔ)X補(bǔ)補(bǔ)Y補(bǔ)補(bǔ)00100001B33補(bǔ)補(bǔ)例例6 X=74D Y=41DX補(bǔ)補(bǔ)01001010B Y補(bǔ)補(bǔ)11010111B -Y補(bǔ)補(bǔ)=00101001B01001010B00101

28、001B01110011B1自動(dòng)自動(dòng)舍去舍去所以所以 X補(bǔ)補(bǔ)Y補(bǔ)補(bǔ)X補(bǔ)補(bǔ)Y補(bǔ)補(bǔ)01110011B115補(bǔ)補(bǔ)39例例7 X=-74D Y=41DX補(bǔ)補(bǔ)10110110B Y補(bǔ)補(bǔ)00101001B -Y補(bǔ)補(bǔ)=11010111B10110110B11010111B+10001101B1自動(dòng)自動(dòng)舍去舍去所以所以 X補(bǔ)補(bǔ)Y補(bǔ)補(bǔ)X補(bǔ)補(bǔ)Y補(bǔ)補(bǔ)10001101B-115補(bǔ)補(bǔ)例例8 X=-74D Y=-41DX補(bǔ)補(bǔ)10110110B Y補(bǔ)補(bǔ)11010111B -Y補(bǔ)補(bǔ)=00101001B10110110B00101001B+11011111B1自動(dòng)自動(dòng)舍去舍去所以所以 X補(bǔ)補(bǔ)Y補(bǔ)補(bǔ)X補(bǔ)補(bǔ)Y補(bǔ)補(bǔ)11011111B

29、-33補(bǔ)補(bǔ)401.5 字符的表示字符的表示 在計(jì)算機(jī)內(nèi)部,各種字符(字母、符號(hào)、數(shù)字碼)都是按一定在計(jì)算機(jī)內(nèi)部,各種字符(字母、符號(hào)、數(shù)字碼)都是按一定的方式編寫成二進(jìn)制信息。不同的計(jì)算機(jī)以及不同的場(chǎng)合所采的方式編寫成二進(jìn)制信息。不同的計(jì)算機(jī)以及不同的場(chǎng)合所采用的編碼形式可能不同。目前最廣泛采用的是用的編碼形式可能不同。目前最廣泛采用的是ASCII碼(碼(American Standard Code for Information Interchange)標(biāo)準(zhǔn)標(biāo)準(zhǔn)ASCII碼為一字節(jié),其中用低七位表示字符編碼(見附錄碼為一字節(jié),其中用低七位表示字符編碼(見附錄A),用最高位表示奇偶數(shù)驗(yàn)位。),用最高位表示奇偶數(shù)驗(yàn)位。 7 6 5 4 3 2 1 0字符編碼字符編碼奇偶校驗(yàn)位奇偶校驗(yàn)位41標(biāo)準(zhǔn)標(biāo)準(zhǔn)ASCII碼共有碼共有128個(gè),可分為兩類:個(gè),可分為兩類:非打印非打印ASCII碼:共碼:共33個(gè)個(gè),用于控制操作用于控制操作, 如如BEL(響鈴響鈴07H), DEL(刪除刪除7FH),CR(回車回車,0DH), LF(換行換行,0AH).可打印可打印ASCII碼:共有碼:共有95個(gè),如數(shù)字符個(gè),如數(shù)字符09,大小寫字母等。,大小寫字母等。421.6 基本邏輯運(yùn)算基本邏輯運(yùn)算 計(jì)算機(jī)內(nèi)部采用二進(jìn)制數(shù)表示信息,具有物理實(shí)現(xiàn)容易、可計(jì)算機(jī)內(nèi)部采用二進(jìn)制數(shù)表示信息,具有物理實(shí)現(xiàn)容易

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論