下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識第第1 1章章 基基 礎(chǔ)礎(chǔ) 知知 識識1.1 微型計(jì)算機(jī)系統(tǒng)的發(fā)展微型計(jì)算機(jī)系統(tǒng)的發(fā)展1.2 匯編語言程序設(shè)計(jì)匯編語言程序設(shè)計(jì)1.3 數(shù)據(jù)表示方法數(shù)據(jù)表示方法1.4 結(jié)果的輸出與打印結(jié)果的輸出與打印 第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識1.1 微型計(jì)算機(jī)系統(tǒng)的發(fā)展微型計(jì)算機(jī)系統(tǒng)的發(fā)展1.1.1 微機(jī)技術(shù)的發(fā)展概況微機(jī)技術(shù)的發(fā)展概況 1處理速度處理速度 微型計(jì)算機(jī)的處理速度在不斷提高,主要表現(xiàn)在以下幾個(gè)方面: (1) cpu的主頻不斷提高,如從4.77 mhz的8088cpu提高到幾個(gè)ghz的pentium,這主要是因?yàn)榘雽?dǎo)體制
2、造工藝水平的提高。 (2) 增加了數(shù)據(jù)運(yùn)算的寬度,從早期的8位發(fā)展到現(xiàn)在的32位、64位、128位甚至更高。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 (3) 采用了risc技術(shù)。從cisc體系結(jié)構(gòu)轉(zhuǎn)變?yōu)閞isc體系結(jié)構(gòu)后,在同樣的工藝水平(即同樣的主頻、同樣的工藝尺寸、同樣的芯片面積)下,使cpu的速度和性能有了很大的提高。 (4) 降低電路工作電壓,不斷縮小工藝尺寸。工作電壓的降低有利于工藝尺寸的縮小。 (5) 增加了芯片內(nèi)并行工作的信息處理部件,如整數(shù)部件、浮點(diǎn)加法器、浮點(diǎn)乘法器、圖形部件等。芯片內(nèi)具有兩個(gè)以上的并行指令流水線,每次并行地向各流水線分配多條指令以進(jìn)行并行處理,這
3、是利用硬件資源的重復(fù)來換取芯片性能的提高。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 2存儲容量存儲容量 微機(jī)的計(jì)算、處理速度的提高必然要求存取信息的速度相應(yīng)提高。當(dāng)今存儲器速度還遠(yuǎn)遠(yuǎn)跟不上cpu的速度,而存儲容量的大小是與存取速度相矛盾的,因而只能采用分級存儲方式。 (1) 芯片內(nèi)的寄存器堆、指令cache和數(shù)據(jù)cache (416 kb)都能在一個(gè)時(shí)鐘周期完成存取,而且隨著vlsi的發(fā)展其容量將繼續(xù)增加。 (2) 芯片外的二級指令cache和數(shù)據(jù)cache,其大小在16256 kb。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 (3) 主存儲器的大小在1 mb到幾百個(gè)mb
4、。 (4) 外部存儲器仍以軟盤、硬盤、光盤為主要介質(zhì),其容量可在1 mb至上百個(gè)gb。由于ram芯片性能價(jià)格比提高,因而為克服外部存儲器的慢速尋找,一般都采用ram cache(256 kb2 mb)來減小等待時(shí)間。 除了解決大容量存儲外,外部存儲器還具有掉電時(shí)的信息保持特性??觳链鎯ζ?flash memory)芯片的普及為外部存儲提供了一種新的實(shí)現(xiàn)方法。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 3人機(jī)接口人機(jī)接口 傳統(tǒng)的鍵盤輸入、顯示、打印輸出已經(jīng)不能滿足人們的需要,人們希望計(jì)算機(jī)有更生動(dòng)、直觀、靈活的用戶界面,最好能像人一樣既可以接收、識別并理解聲、文、圖信息,又能給出聲音、
5、視像等信息。微型計(jì)算機(jī)系統(tǒng)性能的提高,價(jià)格的下降,已經(jīng)為這些技術(shù)的實(shí)用化提供了基礎(chǔ)。計(jì)算機(jī)處理視像和聲音的多媒體技術(shù)也逐步地進(jìn)入到各個(gè)應(yīng)用領(lǐng)域。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 1) 漢字識別 漢字識別要比英文、數(shù)字識別難得多,因?yàn)闈h字字?jǐn)?shù)多、字體多。漢字識別是從掃描輸入開始的,現(xiàn)在掃描儀的掃描精度已經(jīng)完全夠用,對靜止圖像輸入來說其掃描精度與彩色分辨率也已能滿足要求。通過對版面的分析和漢字的切分,計(jì)算機(jī)可對漢字進(jìn)行識別。由于漢字字?jǐn)?shù)多、字體多,因而其特征的選擇與提取是識別的關(guān)鍵。印刷體漢字的識別已實(shí)用化,一般識別率為95以上,識別速度為2030字/秒。 第1章 基 礎(chǔ) 知
6、識【精品】第1章 基 礎(chǔ) 知 識 2) 語音識別 漢語中一個(gè)漢字對應(yīng)一個(gè)單音節(jié),能獨(dú)立發(fā)音的單音節(jié)(包括4種聲調(diào))只有1283個(gè),從這點(diǎn)看對漢語的語音識別較為有利。但漢語中同音字很多,因而單音節(jié)識別率的提高是有難度的,利用字構(gòu)成詞的相關(guān)信息,詞的識別率可以提高。中詞表的特定人與小詞表的非特定人的漢語語音識別已初步達(dá)到實(shí)用水平。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 3) 視頻圖像輸入 從攝像機(jī)、錄像機(jī)和彩電中來的視頻圖像信息,通過視頻處理部件轉(zhuǎn)換成二進(jìn)制代碼,以一定的圖像文件格式存入計(jì)算機(jī)的外部存儲器中。以vga全屏顯示方式計(jì)算(分辨率為640480,共256種色彩)則顯示一幀所
7、需存放的信息為300 kb。如果以50幀計(jì)算,則存放連續(xù)半小時(shí)的視像信息需要27 gb,對當(dāng)前微型機(jī)來說這個(gè)信息量太大了。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 由于圖像對視覺的感受是整體的,部分的少量的錯(cuò)誤不會引起直觀的錯(cuò)誤,因而圖像信息的存儲可采用不完全復(fù)真的壓縮和還原方法。如用jpeg算法可使圖像信息壓縮為原來的1/81/25,靜止圖像即相當(dāng)于一幀視像,需存儲300 kb/幅,經(jīng)過壓縮后存儲,即使有1萬幅圖像也只需120 mb的存儲量。因而,當(dāng)今微型機(jī)系統(tǒng)完全可以用于圖像數(shù)據(jù)庫。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 4語音合成語音合成 聲音的輸出可分為兩種情
8、況,一種是聲音采樣存儲后再回放,一種是文語的轉(zhuǎn)換。 對語音和音樂的采樣要求是不同的。語音采樣頻率在1632 khz,精度在8位左右即可,音樂的采樣頻率在40 khz,精度要14位左右。如果不采取壓縮方法的話,連續(xù)半小時(shí)的樂曲存儲量為144 mb,這個(gè)存儲量還是很大的。因而,一般都采用壓縮算法,語音可壓縮為原來的1/8,而音樂僅能壓縮到原來的1/4。用上述采樣方法存儲后再回放,可以和原信號毫無差異。數(shù)字錄音技術(shù)即采用這種方法。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識1.1.2 intel微處理器體系及其演變 在介紹intel微處理器體系之前,先介紹微處理器(microprocesso
9、r)、微型計(jì)算機(jī)(microcomputer)和微型計(jì)算機(jī)系統(tǒng)(microcomputer system)這三個(gè)概念。 微處理器,簡稱p或mp,是指由一片或幾片大規(guī)模集成電路組成的具有運(yùn)算器和控制器功能的中央處理機(jī)部件,即cpu(control processing unit)。微處理器本身并不等于微型計(jì)算機(jī),它僅僅是微型計(jì)算機(jī)的中央處理器。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 微型計(jì)算機(jī),簡稱pc或mc,是指以微處理器為核心,配上由大規(guī)模集成電路制作的存儲器、輸入/輸出接口電路及系統(tǒng)總線所組成的計(jì)算機(jī)(簡稱微型機(jī))。如果把cpu、存儲器和輸入/輸出接口電路都集成在單片芯片上,
10、這樣構(gòu)成的微型計(jì)算機(jī)稱為單片微型計(jì)算機(jī)(簡稱單片機(jī))。 微型計(jì)算機(jī)系統(tǒng)是指以微型計(jì)算機(jī)為中心,配以相應(yīng)的外圍設(shè)備、電源、輔助電路(統(tǒng)稱硬件)以及控制微型計(jì)算機(jī)工作的系統(tǒng)軟件所構(gòu)成的計(jì)算機(jī)系統(tǒng),簡稱cs或mcs。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 在20世紀(jì)70年代,intel的8080、8085,motorola的6800、6808與zilog的z80都是8位微處理器,但發(fā)展到16位及16位以上微處理器時(shí),只有intel與motorola兩種產(chǎn)品,zilog公司落后了。motorola公司的mc68000功能強(qiáng)于intel 8086,在工作站領(lǐng)域得到廣泛使用。但由于ibm公司
11、推出的ibm pc、pc/xt與pc/at及大量兼容機(jī)采用了intel公司的微處理器芯片,使得intel公司實(shí)力大增。尤其是intel 32位微處理器芯片80386、80486與1993年推出的pentium,使intel微處理器成為微型機(jī)市場首選的cpu芯片類型。目前,intel的pentium系列微處理器更使人有一枝獨(dú)秀的感覺。 微處理器是微型機(jī)的心臟,它是利用超大規(guī)模集成電路技術(shù)將計(jì)算機(jī)cpu集成在一塊硅片上。微型機(jī)性能的優(yōu)劣基本取決于所選用的微處理器芯片功能的強(qiáng)弱。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識1.1.3 intel微處理器的主要特點(diǎn)微處理器的主要特點(diǎn) 1971年
12、推出的4004及其改進(jìn)型4040,是一種4位的微處理器芯片,它具備mpu的基本特點(diǎn),有專用指令讀入鍵盤數(shù)據(jù),進(jìn)行十進(jìn)制運(yùn)算,每次處理4位數(shù)據(jù),能與鍵盤、存儲器、顯示器一起構(gòu)成一個(gè)簡單系統(tǒng)。 1972年推出了8008及其改進(jìn)型8080,8080是一種8位的微處理器芯片,尋址空間為64 kb。它集成了16位的算術(shù)邏輯單元(alu)和六個(gè)通用寄存器,以及程序計(jì)數(shù)器、堆棧指示器、指令寄存器與譯碼器等,指令集包括78條指令。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 1978年推出的8086是一種16位的微處理器,它的內(nèi)部結(jié)構(gòu)是16位的,數(shù)據(jù)總線也是16位的。它有包括乘法與除法指令的16位運(yùn)算
13、指令,既能處理16位數(shù)據(jù),也能處理8位數(shù)據(jù),在匯編語言上與8080、8085兼容,并增加了多條16位操作指令,有20根地址線,直接尋址能力可達(dá)1 mb。8088是8086的簡化產(chǎn)品,它不是真正的16位芯片,它的內(nèi)部總線是16位的,外部總線是8位的,是一種準(zhǔn)16位芯片。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 80186與80188是另一種高集成度的16/8位微處理芯片。它將8086/8088與其他常用的20多個(gè)器件集成在一塊芯片上,同時(shí)增加了i/o(輸入/輸出)指令,尋址空間仍為1 mb,可以使用數(shù)值協(xié)處理器80187,但沒有存儲管理與保護(hù)部分。 1982年推出的80286是真正的
14、16位、具有存儲管理與保護(hù)機(jī)制的微處理器芯片,它有實(shí)地址模式和虛擬地址保護(hù)模式兩種運(yùn)行方式。虛擬地址保護(hù)模式也稱作保護(hù)模式。在實(shí)地址模式中,80286兼容了8086的全部功能,8086的匯編語言源程序可以不做任何修改在80286中運(yùn)行。在保護(hù)模式中,它將實(shí)地址模式的能力與對存儲器的管理,對虛擬存儲器的支持,以及對地址空間的保護(hù)集為一體,因而能可靠地支持多用戶系統(tǒng)。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 1985年推出了高性能32位微處理器80386,它與8086、80286相兼容,這標(biāo)志著32位微處理時(shí)代的到來。繼80386之后,intel公司于1989年又推出了80486微處理
15、器;1993年又推出了更高性能的微處理器pentium。目前,pentium系列的微處理器已形成pentium、pentium、pentium、pentium四個(gè)系列多種型號的產(chǎn)品。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識1.1.4 intel微處理器的性能微處理器的性能 180386、80486和和pentium的主要技術(shù)特點(diǎn)的主要技術(shù)特點(diǎn) 80386是intel公司為支持多任務(wù)操作,適應(yīng)多種操作系統(tǒng)而設(shè)計(jì)的32位微處理器。由于80386有32位的寄存器和數(shù)據(jù)通路,因此,可以支持32位的地址與數(shù)據(jù)類型。80386能夠支持4 gb的內(nèi)存物理空間,64 tb的虛擬存儲空間;支持多任務(wù)
16、系統(tǒng);支持段式管理與頁式管理;支持四級特權(quán)集,對任務(wù)與任務(wù)之間、任務(wù)與操作系統(tǒng)之間進(jìn)行嚴(yán)格的保護(hù)隔離。由于采用指令流水線工作方式、較高的總線帶寬、片內(nèi)地址轉(zhuǎn)移等措施,系統(tǒng)速度可以達(dá)到4 mips。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 80486芯片相當(dāng)于將80386與一片數(shù)值協(xié)處理器80387、一片8 kb的高速緩沖存儲器cache集成在一起,其中8 kb cache用來存放指令與數(shù)據(jù)。由于訪問內(nèi)部cache的速度遠(yuǎn)高于訪問存儲器的速度,因而可以大大提高系統(tǒng)性能,減少了處理器使用外部總線的時(shí)間,對內(nèi)部cache的操作完全由系統(tǒng)自動(dòng)進(jìn)行,對用戶是透明的。80486的常用指令運(yùn)行時(shí)
17、間為1個(gè)時(shí)鐘周期,系統(tǒng)速度可達(dá)20 mips。 1992年,intel公司正式將繼80486之后新一代微處理器稱為pentium。intel不采用80586這一提法的原因主要有兩點(diǎn):一是商標(biāo)的版權(quán)問題;二是說明intel的微處理器設(shè)計(jì)由cisc技術(shù)向risc技術(shù)過渡。出于商業(yè)原因,intel在產(chǎn)品宣傳中不突出risc技術(shù),而只用“超標(biāo)量”,即pentium采用雙流水線超標(biāo)量體系結(jié)構(gòu)。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 pentium的內(nèi)部總線是32位,但與外部存儲器的接口總線是64位,因而處理器與存儲器之間數(shù)據(jù)傳輸速率達(dá)528 mb/s,它的軟件與80386、80486兼容。
18、其主要特點(diǎn)是:指令cache與數(shù)據(jù)cache分開,容量均為8 kb;硬件上,兩個(gè)整數(shù)執(zhí)行流水線分開,地址產(chǎn)生部件與算術(shù)邏輯單元alu分開;可以在一個(gè)運(yùn)行周期中發(fā)送兩條整數(shù)指令;具有片上浮點(diǎn)寄存器、加法與乘/除法器;可以在一個(gè)運(yùn)行周期發(fā)送一條或兩條浮點(diǎn)指令;采用轉(zhuǎn)移預(yù)測方法,使用兩個(gè)預(yù)取緩沖器,一個(gè)以順序方式預(yù)取指令,一個(gè)按轉(zhuǎn)移預(yù)測設(shè)置的轉(zhuǎn)移目標(biāo)緩存btb預(yù)取指令,所需指令永遠(yuǎn)是在執(zhí)行前預(yù)先取出的。pentium的片上存儲管理部件與80386、80486完全兼容。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 pentium支持多用戶操作系統(tǒng),可以在windows nt、os/2、unix
19、、solaris操作系統(tǒng)中運(yùn)行,可用于局域網(wǎng)client/server、虛擬實(shí)景、文字與語音識別、三維模型運(yùn)算等更為廣泛的應(yīng)用領(lǐng)域。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 280386、80486和和pentium微處理器的性能比較微處理器的性能比較 80386有32位的寄存器和數(shù)據(jù)通道,支持32位的地址和數(shù)據(jù)類型,是為支持多任務(wù)操作而進(jìn)行優(yōu)化的操作系統(tǒng)所設(shè)計(jì)的32位微處理器。與80386一樣,80486也使用了指令流水線、risc的設(shè)計(jì)思想。80486用靜態(tài)ram作為指令、數(shù)據(jù)共用的cache,它采用成組傳送方式,能在一個(gè)時(shí)鐘周期內(nèi)傳送32位數(shù)據(jù)。80486的性能高于80386
20、。 從8086到80386,再到80486直至pentium,可以看出intel微處理器的發(fā)展趨勢和特點(diǎn):第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 遵循開放式標(biāo)準(zhǔn),保持兼容性; 結(jié)構(gòu)設(shè)計(jì)從cisc向risc過渡; 功能升級,擴(kuò)大應(yīng)用范圍; 提高基于intel微處理器的微型機(jī)性能,保持整機(jī)的兼容性。 現(xiàn)在,微型機(jī)的應(yīng)用已從簡單的數(shù)值計(jì)算、文字處理向多媒體、局域網(wǎng)、工程cad、模式識別中的文字與語音識別、專家系統(tǒng)以及以圖形界面為特征的立體圖形與動(dòng)態(tài)視頻圖像處理等方向發(fā)展。將多個(gè)中央處理器、高速數(shù)字運(yùn)算單元及“智能”人機(jī)界面綜合起來,以適應(yīng)動(dòng)態(tài)全景視頻圖像處理和語音與文字識別技術(shù)的要求。
21、第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識1.2 匯編語言程序設(shè)計(jì)匯編語言程序設(shè)計(jì)1.2.1 程序設(shè)計(jì)語言程序設(shè)計(jì)語言 程序是為解決某一問題而編寫在一起的指令序列,計(jì)算機(jī)程序可以用高級語言編寫,也可以用匯編語言編寫。 指令是規(guī)定計(jì)算機(jī)執(zhí)行特定操作的命令。cpu就是根據(jù)指令來指揮和控制微型機(jī)各部分協(xié)調(diào)地動(dòng)作,以完成規(guī)定的操作。任何一條指令都包括兩部分:操作碼和地址碼。操作碼指明要完成操作的性質(zhì),如加、減、乘、除、數(shù)據(jù)傳送、移位等;地址碼指明參加上述規(guī)定操作的數(shù)據(jù)存放地址或操作數(shù)。計(jì)算機(jī)全部指令的集合稱為計(jì)算機(jī)指令系統(tǒng),指令系統(tǒng)準(zhǔn)確定義了計(jì)算機(jī)的處理能力。第1章 基 礎(chǔ) 知 識【精品】第
22、1章 基 礎(chǔ) 知 識 高級語言程序就是用高級語言編寫的程序。如c語言源程序、pascal語言源程序等均是高級語言程序。計(jì)算機(jī)是不能直接運(yùn)行高級語言源程序的,要執(zhí)行高級語言源程序,就必須把用高級語言編寫的源程序翻譯成用機(jī)器指令表示的目標(biāo)程序,這樣就需要有各種解釋程序或編譯程序。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 在計(jì)算機(jī)中,以二進(jìn)制代碼形式存在的指令,叫機(jī)器碼指令。機(jī)器碼指令構(gòu)成的指令系統(tǒng)叫機(jī)器語言,用機(jī)器語言編寫的程序叫機(jī)器語言程序。用助記符構(gòu)成的指令系統(tǒng)叫匯編語言(assemble language),用匯編語言編寫的程序叫匯編語言程序。匯編語言程序翻譯成機(jī)器語言程序的過程
23、稱為匯編(assemble),高級語言程序翻譯成機(jī)器語言程序的過程叫解釋(interpretation)或編譯(compilation)。 通常將匯編、解釋、編譯前的程序叫源程序,而將翻譯后的機(jī)器語言程序叫目標(biāo)程序。完成匯編、解釋、編譯的程序則分別稱為匯編程序(assembler)、解釋程序(interpreter)、編譯程序(compiler)。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識1.2.2 匯編語言匯編語言 我們知道,計(jì)算機(jī)系統(tǒng)由計(jì)算機(jī)硬件和計(jì)算機(jī)軟件兩個(gè)部分組成,有時(shí)又將計(jì)算機(jī)的硬件與軟件統(tǒng)稱為計(jì)算機(jī)資源。 計(jì)算機(jī)的硬件是指構(gòu)成計(jì)算機(jī)系統(tǒng)的物理實(shí)體或物理裝置。由運(yùn)算器、控
24、制器、存儲器、輸入/輸出接口等部件構(gòu)成主機(jī),稱為計(jì)算機(jī)。主機(jī)再配以輸入/輸出設(shè)備,便構(gòu)成了計(jì)算機(jī)的硬件系統(tǒng)。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 計(jì)算機(jī)軟件系統(tǒng)是指計(jì)算機(jī)系統(tǒng)所使用的各種程序的集合。它的功能是利用計(jì)算機(jī)提供的邏輯功能來合理地組織計(jì)算機(jī)的工作,以便簡化人們使用計(jì)算機(jī)的環(huán)節(jié),并為用戶提供一個(gè)便于掌握、操作簡便的工作環(huán)境。計(jì)算機(jī)軟件通常包括:操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)軟件、匯編程序、各種高級語言的編譯或解釋程序、各種標(biāo)準(zhǔn)程序庫、各種應(yīng)用程序等。作為計(jì)算機(jī)重要組成部分的軟件系統(tǒng),匯編語言在其中占有重要的地位。匯編語言程序設(shè)計(jì)是計(jì)算機(jī)專業(yè)人員的基本功。那么,什么是匯
25、編語言及匯編語言程序設(shè)計(jì)?與高級語言相比,匯編語言又有什么特點(diǎn)?如何學(xué)習(xí)匯編語言及如何使用匯編語言進(jìn)行程序設(shè)計(jì)呢?第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 匯編語言(assembler language)是一種面向機(jī)器的程序設(shè)計(jì)語言,這是一種用符號表示的低級程序語言,通常是為特定的計(jì)算機(jī)專門設(shè)計(jì)的,與機(jī)器語言很接近。用這種語言寫成的程序,需經(jīng)過匯編程序翻譯成機(jī)器語言程序才能被計(jì)算機(jī)執(zhí)行。匯編語言指令和翻譯成的機(jī)器語言之間的關(guān)系,基本上是一一對應(yīng)的關(guān)系。但有的匯編語言中可以有宏指令,它與一串特定的機(jī)器指令相對應(yīng)(對應(yīng)方式由用戶按一定規(guī)則自行定義),這樣的匯編語言有時(shí)也叫宏匯編語言。由
26、此可看出,匯編語言是一種與計(jì)算機(jī)的代碼機(jī)器指令一一對應(yīng),并緊密依賴于某一具體計(jì)算機(jī)的、面向機(jī)器的語言。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 機(jī)器語言是利用0、1的各種組合來構(gòu)成指令的,采用的是二進(jìn)制編碼。沒有配備任何軟件的計(jì)算機(jī)稱之為裸機(jī),它只能識別“0”和“1”兩種代碼。為了使用這樣的計(jì)算機(jī),程序設(shè)計(jì)人員只能用機(jī)器指令或機(jī)器語言編寫程序,這就要求程序設(shè)計(jì)人員熟記計(jì)算機(jī)以“0”、“1”表示的全部指令,這是十分困難的事情。用機(jī)器語言編寫程序時(shí),工作量大,易于出錯(cuò)且不易修改。為了擺脫用機(jī)器指令編程的困難,出現(xiàn)了用指令符號來編寫程序的方法,用符號語言編寫的程序稱為符號程序。在編制程序
27、時(shí),只要記住指令的助記符就可以了,而助記符可使用指令的英文名稱的縮寫,較指令編碼容易記憶。例如,取數(shù)指令用lda表示、加法指令用add表示等。對這種符號語言再作一些擴(kuò)充就是所謂的匯編語言。機(jī)器語言與匯編語言的比較見表1-1。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 這里有一個(gè)問題:匯編語言程序?yàn)槿藗兙帉懗绦颉㈤喿x和交流程序都帶來了方便,但機(jī)器只認(rèn)識用機(jī)器語言編寫的目標(biāo)程序,即0、1代碼,換句話說,機(jī)器根本就識別不了匯編語言程序。為了讓機(jī)器能識別人們用匯編語言編寫的程序,在計(jì)算機(jī)執(zhí)行每條匯編指令之前,必須將其先翻譯成機(jī)器語言的目標(biāo)程序。完成這一功能的程序就是前面提及的匯編程序。第1章
28、 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 匯編程序的主要功能是把用匯編語言編寫的源程序加工成機(jī)器語言寫的目標(biāo)程序。匯編過程有以下三步: 用匯編語言編寫出源程序; 將源程序輸入到計(jì)算機(jī)內(nèi),由匯編程序把它加工成計(jì)算機(jī)能執(zhí)行的目標(biāo)程序; 執(zhí)行目標(biāo)程序,得到計(jì)算結(jié)果。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識表表1-1 機(jī)器語言與匯編語言的比較機(jī)器語言與匯編語言的比較機(jī) 器 語 言 程 序地 址 碼指令代碼 101 020106 102 024107 103 107000 104 044110 105 063077 106 x 107 y 110 z 第1章 基 礎(chǔ) 知 識【精品】第1
29、章 基 礎(chǔ) 知 識匯 編 語 言 程 序地 址 符 號指 令 符 號注 釋 loc 101定位偽指令,程序從101號地址開始存放 start:lda 0,cno1; xl0 lda 1,cno2; yl1 add 0,1; x+yl1 sta 1,cno3; z= x+y(cno3) halt; 停機(jī) cno1:x; 原始數(shù)據(jù) cno2:y; 原始數(shù)據(jù) cno3:z; 計(jì)算結(jié)果 end 程序匯編結(jié)束表表1-1 機(jī)器語言與匯編語言的比較機(jī)器語言與匯編語言的比較第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 其中,源程序是由一串符號化的指令組成,當(dāng)匯編程序加工源程序時(shí),總是從頭到尾,一個(gè)符號
30、接著一個(gè)符號的閱讀,稱為掃描源程序。從頭到尾掃描一次源程序?yàn)閽呙枰槐椋话銋R編程序是掃描兩遍源程序。第一遍掃描把源程序中所有出現(xiàn)的名字進(jìn)行造表,確定每個(gè)名字將占用的內(nèi)存位置;第二遍掃描時(shí),按所造出的表,把每條符號化指令變換成數(shù)碼形式的機(jī)器指令。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 除此之外,匯編程序還具有查錯(cuò)、修改、打印等功能。當(dāng)用戶編寫的匯編語言程序不符合匯編語言所要求的書寫格式和語法要求時(shí),匯編程序就會指出源程序的某個(gè)位置出了什么性質(zhì)的錯(cuò)誤等,這就是匯編程序的查錯(cuò)功能。匯編程序提供修改源程序的方法簡便,用戶把修改的要求提供給匯編程序,由匯編程序?qū)崿F(xiàn)對源程序的自動(dòng)修改。在匯編
31、過程中,當(dāng)發(fā)現(xiàn)錯(cuò)誤時(shí),將錯(cuò)誤信息打印出來,必要時(shí)可打印出名字表及目標(biāo)程序,還可打印出修改后源程序的文本等。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 實(shí)用的匯編語言中,還包括一些用戶編程時(shí)十分需要的指令,這些指令并無對應(yīng)的機(jī)器指令,這些指令稱為偽指令。 眾所周知,用高級語言編寫的程序,機(jī)器是不能直接執(zhí)行的,需要由編譯程序或解釋程序?qū)⑺g成對應(yīng)的機(jī)器語言,計(jì)算機(jī)才能接受并執(zhí)行。通過編譯或解釋程序生成的機(jī)器語言程序往往比較冗長,占用存儲空間較大,執(zhí)行速度慢。用高級語言編寫程序時(shí),程序員無法直接利用機(jī)器硬件系統(tǒng)的許多特性,如寄存器、標(biāo)志位以及一些特殊指令等,影響許多程序設(shè)計(jì)技巧的發(fā)揮。而
32、匯編語言程序是直接利用機(jī)器提供的指令系統(tǒng)編寫程序的,與機(jī)器語言程序一一對應(yīng),所以占用存儲空間少,執(zhí)行速度快,特別是在一些有實(shí)時(shí)控制要求的場合,與使用匯編語言相比,使用高級語言就不那么方便了,二者的區(qū)別主要表現(xiàn)在以下幾個(gè)方面:第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 (1) 與匯編語言程序相比,高級語言程序要多占用0.51倍的存儲單元,執(zhí)行程序花費(fèi)的時(shí)間要長0.52倍。 (2) 匯編語言可直接使用輸入/輸出指令通過低級接口與外設(shè)打交道,而高級語言就不那么方便了。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 使用匯編語言編寫程序,能充分發(fā)揮機(jī)器硬件的作用,高效地使用機(jī)器。匯編語
33、言是編寫計(jì)算機(jī)通用軟件的基礎(chǔ)。一般來說,某些對執(zhí)行時(shí)間和存儲容量有較高要求的程序,通常使用匯編語言來編制,匯編語言的應(yīng)用場合是: 計(jì)算機(jī)控制系統(tǒng)(包括實(shí)時(shí)控制系統(tǒng)); 計(jì)算機(jī)檢測系統(tǒng); 外設(shè)驅(qū)動(dòng)程序; 智能化儀器儀表; 高性能軟件等。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識1.2.3 學(xué)習(xí)匯編語言的方法學(xué)習(xí)匯編語言的方法 由于匯編語言是面向機(jī)器的語言,是與機(jī)器密切相關(guān)的一種程序設(shè)計(jì)語言。所以要掌握匯編語言,使用匯編語言進(jìn)行程序設(shè)計(jì)時(shí),就必須對機(jī)器的一些特性有所了解,這樣才能編出正確的匯編語言程序。概括起來,應(yīng)了解的機(jī)器特性有: (1) 微處理器的結(jié)構(gòu)(如8086/8088、8038
34、6、80486或pentium等),存儲器的組織方式、存儲器的基本單元即編址的基本單位、容量即基本單元的數(shù)量是多少。該機(jī)存儲器的基本單元是什么?是字節(jié)還是字、雙字等。以相鄰字節(jié)為單位進(jìn)行操作的單元有哪些種類? 例如,字、半字、雙字等。其字長是多少? 存儲容量多大? 地址表示的方法及地址變換機(jī)構(gòu)又是怎樣的?是否支持虛擬存儲器等。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 (2) 控制器的功能及相互關(guān)系。如,通用寄存器(包括累加器)的數(shù)量、功能、標(biāo)志位的內(nèi)容及使用等。 (3) 數(shù)據(jù)類型及格式。該機(jī)器能處理哪些類型的數(shù)據(jù)?例如,定點(diǎn)數(shù)、浮點(diǎn)數(shù)、十進(jìn)制數(shù)、字符數(shù)據(jù)的格式是什么樣的?每種數(shù)據(jù)在
35、機(jī)器內(nèi)的表示方法(即機(jī)內(nèi)格式)又是怎樣的? (4) 指令格式、長度、功能及尋址方式。對機(jī)器指令系統(tǒng)的深入了解是匯編語言程序設(shè)計(jì)的重要任務(wù)之一,它包括:指令格式和長度、尋址方式、指令的種類、每一條指令的功能,如何使用這些指令進(jìn)行程序設(shè)計(jì)。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 (5) 控制器的其他特性。匯編語言程序設(shè)計(jì)要了解算術(shù)邏輯部件和控制器的狀態(tài)、中斷、時(shí)鐘等。應(yīng)了解哪些中斷與程序設(shè)計(jì)有關(guān)? 中斷時(shí)的現(xiàn)場保護(hù)在什么地方? 如何屏蔽與開放中斷?等等。 (6) 外部設(shè)備的特性。外設(shè)是計(jì)算機(jī)與外部世界進(jìn)行交換信息的手段。進(jìn)行匯編語言程序設(shè)計(jì)時(shí),必須了解有哪些外部設(shè)備可供使用;每種外設(shè)
36、的具體使用方法如何(包括信息交換的機(jī)構(gòu)和交換方式);如何使外設(shè)與算術(shù)邏輯部件和控制器協(xié)調(diào)工作(包括速度匹配);有無通道設(shè)施;如何組織通道程序等。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 (7) 指令系統(tǒng)、dos和bios的調(diào)用方法。 使用匯編語言編制匯編語言程序應(yīng)注意以下幾點(diǎn): (1) 要有一個(gè)好的算法。所選定的算法必須結(jié)構(gòu)清晰、層次分明、邏輯正確無誤。算法描述形式應(yīng)該簡潔明了,對于數(shù)據(jù)結(jié)構(gòu)不太復(fù)雜的中小程序,可采用流程圖的形式,否則應(yīng)使用類c語言、類pascal語言或類似的簡化語言描述。 (2) 程序要模塊化。根據(jù)解決的任務(wù)劃分功能模塊,每個(gè)模塊功能單一,入口、出口簡單。這樣,程
37、序容易編制、調(diào)試,也容易修改和擴(kuò)充。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 (3) 對指令的使用要有選擇。在編制程序時(shí),能用簡單和常用指令的,決不用復(fù)雜和不常用的指令。使用后一類指令雖然在一定程度上能顯示程序員對指令系統(tǒng)的理解程度和駕馭能力,但卻增加了調(diào)試和閱讀程序的困難。比較起來,樸實(shí)無華的程序較容易保證其正確性,也易于維護(hù)。 (4) 要充分利用寄存器。匯編語言的優(yōu)點(diǎn)之一就是能充分利用機(jī)器資源。在編制程序時(shí),應(yīng)充分利用匯編語言的這個(gè)長處,合理使用寄存器,盡量使操作在寄存器或寄存器之間進(jìn)行,減少訪問內(nèi)存單元次數(shù),以便節(jié)省時(shí)間,提高效率。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ)
38、 知 識 (5) 數(shù)據(jù)與指令的使用要正確。數(shù)據(jù)存儲單元和工作單元應(yīng)集中放在一起,并且與可執(zhí)行指令分開,這樣可使程序結(jié)構(gòu)清晰,便于閱讀,也便于修改。 (6) 不應(yīng)編寫自我修改的程序。程序的可執(zhí)行指令代碼在程序執(zhí)行過程中應(yīng)保持不變,那種在程序執(zhí)行過程中,自身修改某些指令代碼以獲得某些效果的做法早已被摒棄,否則會給程序的調(diào)試帶來極大的困難。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 (7) 要有簡明而充分的注釋。注釋應(yīng)成為程序中必不可少的部分,注釋不光是解釋指令意義,而應(yīng)著重描述指令在程序中所起的作用。寫注釋并不增加程序的篇幅。注釋對程序的運(yùn)行雖然不起作用,但對程序的調(diào)試、修改、閱讀和交流
39、乃至測試、維護(hù)等都有著重要影響。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識1.3 數(shù)據(jù)表示方法數(shù)據(jù)表示方法1.3.1 數(shù)與數(shù)制數(shù)與數(shù)制 數(shù)制是指用一組固定的數(shù)字符號和統(tǒng)一的規(guī)則表示數(shù)的方法。基數(shù)和權(quán)是數(shù)制要涉及到的兩個(gè)基本概念。數(shù)制中,每個(gè)數(shù)位(數(shù)字位置)所用到的不同數(shù)字的個(gè)數(shù)叫做基數(shù)。常用的十進(jìn)制,是采用09這10個(gè)數(shù)字表示的,它的基數(shù)是10。在一個(gè)數(shù)中,數(shù)字在不同的數(shù)位所代表的數(shù)值是不同的,每個(gè)數(shù)字所表示的數(shù)值等于它本身乘以與所在數(shù)位有關(guān)的常數(shù),通常稱這個(gè)常數(shù)為位權(quán),簡稱權(quán)。例如,十進(jìn)制數(shù)個(gè)位的位權(quán)是1,十位的位權(quán)是10,百位的位權(quán)是100,千位的位權(quán)是1000等。相鄰兩位權(quán)的比
40、值就等于基數(shù)。一個(gè)數(shù)的數(shù)值大小就等于它的各位數(shù)碼乘以相應(yīng)位權(quán)的總和。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 1數(shù)制數(shù)制 計(jì)算機(jī)常用的數(shù)制有二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制。 1) 十進(jìn)制 由十個(gè)數(shù)字09組成,基數(shù)為10,小數(shù)點(diǎn)左邊從右至左其各位的位權(quán)依次是:100,101,102,103,;小數(shù)點(diǎn)右邊從左至右其各位的位權(quán)依次是:l0-1,10-2,10-3,。例如,十進(jìn)制數(shù)678.5可以表示為678.56102+7101+8100+510-1第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 十進(jìn)制數(shù)字的表示方法是在09數(shù)字序列后可跟一個(gè)字母d或不跟d,例如,128d或128。
41、十進(jìn)制實(shí)數(shù)的表示分為底數(shù)與指數(shù)兩部分,正號“+”可有可無,指數(shù)部分寫在e之后,若省略e,則底數(shù)部分應(yīng)有小數(shù)點(diǎn)。例如,1e-32,3.1415。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 2) 二進(jìn)制 由數(shù)字0和1組成,基數(shù)為2。小數(shù)點(diǎn)左邊從右至左其各位的位權(quán)依次是:20,21,22,;小數(shù)點(diǎn)右邊從左至右其各位的位權(quán)依次是:2-1,2-2,2-3,。表示方法是在0、1序列后跟一個(gè)字母b,例如,110b、1100011b。 3) 八進(jìn)制 計(jì)算機(jī)中經(jīng)常使用的八進(jìn)制和十六進(jìn)制可用于解決二進(jìn)制數(shù)書寫長且不易閱讀的問題。八進(jìn)制數(shù)由07共8個(gè)數(shù)字組成,基數(shù)為8,小數(shù)點(diǎn)左邊從右至左其各位的位權(quán)依次是
42、:80,81,82,;小數(shù)點(diǎn)右邊從左至右其各位的位權(quán)依次是:8-1,8-2,8-3,。表示方法是在07組成的數(shù)后跟一個(gè)字母o或q。例如,1477o或1477q。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 4) 十六進(jìn)制 由16個(gè)數(shù)字符號(數(shù)字09、符號a、b、c、d、e、f)組成,16為基數(shù)。小數(shù)點(diǎn)左邊從右至左其各位的位權(quán)依次是:160,161,162,;小數(shù)點(diǎn)右邊從左至右其各位的位權(quán)依次是:16-1,16-2,16-3,。表示方法是在09的數(shù)字或ae的字母序列之后跟一個(gè)字母h,但必須以數(shù)字打頭,例如,40490eh、0c0000h。 第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知
43、 識 2數(shù)制的轉(zhuǎn)換數(shù)制的轉(zhuǎn)換 1) 十六進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù) 不論是十六進(jìn)制的整數(shù)或小數(shù),只要把每一位十六進(jìn)制的數(shù)用相應(yīng)的4位二進(jìn)制數(shù)代替,就可以轉(zhuǎn)換為二進(jìn)制數(shù)。 例例1-1 將(3ab)16轉(zhuǎn)換為二進(jìn)制數(shù)。 3 a b 0011 1010 1011 (3ab)16(0011 1010 1011)2(11 1010 1011)2第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識例例1-2 將(0.7a53)16轉(zhuǎn)換為二進(jìn)制數(shù)。 7 a 5 3 0111 1010 0101 0011 (0.7a53)16(0.0111 1010 0101 0011)2第1章 基 礎(chǔ) 知 識【精品】第1章 基
44、礎(chǔ) 知 識 2) 二進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù) 二進(jìn)制的整數(shù)部分由小數(shù)點(diǎn)向左,每4位一分,最前面不足4位的在前面補(bǔ)0;小數(shù)部分由小數(shù)點(diǎn)向右,每4位一分,最后不足4位的后面補(bǔ)0。然后把每4位二進(jìn)制數(shù)用相應(yīng)的十六進(jìn)制數(shù)代替,即可轉(zhuǎn)換為十六進(jìn)制數(shù)。 例例1-3 將(11.100101111)2轉(zhuǎn)換為十六進(jìn)制數(shù)。 0001 1011 1110 0011.1001 0111 1000 1 b e 3 9 7 8 (11.100101111)2 (1be3.978)16第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 總之,數(shù)在機(jī)器中是用二進(jìn)制表示的,但是,一個(gè)二進(jìn)制數(shù)書寫起來太長,且容易出錯(cuò)。大部分微型
45、機(jī)的字長是4位、8位、16位或32位的,都是4的整數(shù)倍,在書寫時(shí)用十六進(jìn)制來表示。一個(gè)字節(jié)就可以用兩位十六進(jìn)制數(shù)表示,兩個(gè)字節(jié)可以用4位十六進(jìn)制表示,書寫、閱讀方便且不容易出錯(cuò)。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識1.3.2 計(jì)算機(jī)中的數(shù)據(jù)表示計(jì)算機(jī)中的數(shù)據(jù)表示 計(jì)算機(jī)只能識別二進(jìn)制數(shù),因此數(shù)、字符等在計(jì)算機(jī)中都是使用二進(jìn)制形式表示的。數(shù)可以分為帶符號數(shù)和無符號數(shù)。 1帶符號數(shù)的表示法帶符號數(shù)的表示法 1) 機(jī)器數(shù)與真值 上面提到的二進(jìn)制數(shù),沒有提到符號問題,故是一種無符號數(shù)的表示。數(shù)總有正負(fù)之分,那么符號在計(jì)算機(jī)中又是如何表示的呢?機(jī)器中通常用一個(gè)數(shù)的最高位表示符號位。字長為
46、8位的數(shù),用最高位d7表示符號位,余下的7位d6d0為數(shù)字位,符號位為“0”表示正,為“1”表示負(fù)。如:第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識x(0101 1011)291而 x(1101 1011)291這樣連同一個(gè)符號位在一起的一個(gè)數(shù),稱為機(jī)器數(shù),它的數(shù)值稱為機(jī)器數(shù)的真值。 為了運(yùn)算方便,即統(tǒng)一加減運(yùn)算,機(jī)器中的負(fù)數(shù)有3種表示法原碼、反碼和補(bǔ)碼。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 2) 原碼 若正數(shù)的符號位用“0”表示,負(fù)數(shù)的符號位用“1”表示,這種表示法就稱為原碼。 x105,x0 1101001 x105,x1 符號位 數(shù)值第1章 基 礎(chǔ) 知 識【精品】
47、第1章 基 礎(chǔ) 知 識 其中,字長為8位的數(shù),其最高位為符號位,后面7位是數(shù)值;若字長為16位,則后面的15位是數(shù)值。用原碼表示時(shí),105和105它們的數(shù)值位相同,而符號位不同。 原碼表示簡單易懂,與真值的轉(zhuǎn)換方便。但是,兩個(gè)異號數(shù)相加或兩個(gè)同號數(shù)相減,就要做減法,難以實(shí)現(xiàn)加減法的統(tǒng)一。反碼和補(bǔ)碼的引進(jìn),就是為了把減法運(yùn)算轉(zhuǎn)換為加法運(yùn)算。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 3) 反碼 正數(shù)的反碼表示與原碼相同,最高位為符號位,“0”表示正,其余位為數(shù)值位。如: (+4)反 0 符號位 二進(jìn)制數(shù)值 (+31)反 0 符號位 二進(jìn)制數(shù)值 (+127)反 0 符號位 二進(jìn)制數(shù)值 第
48、1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識而負(fù)數(shù)的反碼是它的正數(shù)連同符號位按位取反而形成的。如: (+4)反0 0000100,(-4)反1 1111011 (+31)反0 0011111,(-31)反1 1100000 (+127)反0 1111111,(-127)反1 0000000 (+0)反0 0000000,(-0)反1 1111111 第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 負(fù)數(shù)反碼的表示與原碼表示有很大的區(qū)別:最高位仍為符號位,“0”表示正數(shù),“1”表示負(fù)數(shù),但數(shù)值位就不同了。如: (-127)反 1 0000000 符號位 取反數(shù)值8位二進(jìn)制數(shù)的反碼表示如
49、表1-2所示。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識表表1-2 原碼、補(bǔ)碼和反碼對照表原碼、補(bǔ)碼和反碼對照表進(jìn)制數(shù)碼表示無符號二進(jìn)制數(shù)原 碼補(bǔ) 碼反 碼0+0+0+01+1+1+12+2+2+2124+124+124+124125+125+125+125126+126+126+126127+127+127+127128-0-128-127129-1-127-126130-2-126-125252-124-4-3253-125-3-2254-126-2-1255-127-1-0第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識反碼的特點(diǎn)有以下3點(diǎn):(1) “0”有兩種表示法。(2
50、) 8位二進(jìn)制反碼所能表示的數(shù)值范圍為-127+127。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 (3) 當(dāng)一個(gè)帶符號數(shù)由反碼表示時(shí),最高位為符號位。當(dāng)符號位為0(即正數(shù))時(shí),后面的七位為數(shù)值部分;當(dāng)符號位為1(即負(fù)數(shù))時(shí),后面幾位表示的不是此負(fù)數(shù)的數(shù)值,一定要把它們按位取反,才能得到它的數(shù)值。例如,一個(gè)反碼表示的數(shù)為 10010100 這是一個(gè)負(fù)數(shù),它不表示(20)10,而表示的是 1101011(l26l25l23l211) (643283)(107)10 第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 4) 補(bǔ)碼補(bǔ)碼 正數(shù)的補(bǔ)碼表示與原碼相同,即最高位為符號位,“0”表
51、示正數(shù),其余位為數(shù)值。如: (+4)補(bǔ) 0 符號位 二進(jìn)制數(shù)值 (+31)補(bǔ) 0 符號位 二進(jìn)制數(shù)值 (+127)補(bǔ) 0 符號位 二進(jìn)制數(shù)值 第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識負(fù)數(shù)的補(bǔ)碼是先求其反碼,再在最后位(即最低位)加1。如: (+4)原00000100,(-4)反11111011,(-4)補(bǔ)11111100, (+31)原00011111,(-31)反11100000,(-31)補(bǔ)11100001, (+127)原01111111,(-127)反10000000,(-127)補(bǔ)10000001, (+0)原00000000,(-0)反11111111,(-0)補(bǔ)000
52、00000 第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 8位帶符號位的補(bǔ)碼表示如表1-2所示,有以下特點(diǎn): (1) +0補(bǔ) -0補(bǔ) 00000000。 (2) 8位二進(jìn)制補(bǔ)碼所能表示的數(shù)值為-128+127。 (3) 一個(gè)用補(bǔ)碼表示的二進(jìn)制數(shù),最高位為符號位,當(dāng)符號位為“0”(即正數(shù))時(shí),其余七位即為此數(shù)的二進(jìn)制值;當(dāng)符號位為“1”(即負(fù)數(shù))時(shí),其余幾位不是此數(shù)的數(shù)值,其數(shù)值獲取的方法是將其按位取反,并在最低位加1。 第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 例1-4 x補(bǔ) 10010100,它不等于(20)10,它的數(shù)值為由0010100按位取反得1101011,然后再
53、加l為1101100。即 x1101100(126125123122 ) (643284)(108)10當(dāng)負(fù)數(shù)采用補(bǔ)碼表示時(shí),就可以把減法轉(zhuǎn)換為加法。 第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識例例1-5 x641064(10) x補(bǔ) 64補(bǔ)10補(bǔ) 6464補(bǔ)01000000 1000001010 10補(bǔ) 11110110 于是 01000000 01000000 00001010 11110110 00110110 100110110 自然丟失由于在字長為8位的機(jī)器中,第7位(即d7)的進(jìn)位是自然丟失的,故做減法與補(bǔ)碼相加的結(jié)果是相同的。 第1章 基 礎(chǔ) 知 識【精品】第1章 基
54、礎(chǔ) 知 識 例例1-6 346834(68) +34補(bǔ)00100010 +68補(bǔ)01000100 -68補(bǔ) 10111100于是 00100010 10111100 11011110即為和的補(bǔ)碼,符號位為1,和為負(fù)數(shù),數(shù)值部分應(yīng)由后七位按位取反再加1,即為0100010。所以,和為(34)10。 第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 在日常生活中,有不少“補(bǔ)”數(shù)的例子。就以校對時(shí)間來講,若標(biāo)準(zhǔn)時(shí)間為6點(diǎn)整,而現(xiàn)在有一只表為10點(diǎn),要撥到6點(diǎn),可以有兩種撥法: 第一種方法倒撥: 1046 第二種方法順撥: 1086 所以,在這里,10加8與10減4(或加(4)是相同的。這當(dāng)然是有
55、條件的,在鐘表中108126 第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 而12稱為模,即一個(gè)系統(tǒng)的量程或此系統(tǒng)所能表示的最大的數(shù),它是自然丟掉的,如:104108 (mod l2) 表示的是,等號兩邊同除以12,它們的余數(shù)相同,12稱為模,或稱(104)與(108)對模12是同余的,也即(8)與(4)對模12互為補(bǔ)數(shù)。 一般說來,若數(shù)z、y、k滿足下列關(guān)系: znky (n為整數(shù)) 則稱z與y對模k是同余的,記為zy (mod k) 第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 在上面的例子中,k12。因此(4)與8,(5)與7,(6)與6等對于模12都是同余的,也即它們對
56、模12來說互為補(bǔ)數(shù)。 由上述的例子和同余的概念,不難得出結(jié)論:對于某一確定的模,某數(shù)減去小于模的一個(gè)數(shù),總可以用加上該數(shù)的負(fù)數(shù)與其模數(shù)之和(即補(bǔ)數(shù))來代替。所以,引進(jìn)了補(bǔ)碼以后,減法就可以轉(zhuǎn)換為加法了,使加減法運(yùn)算可以統(tǒng)一。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 把減法轉(zhuǎn)換為加法實(shí)際上是利用了補(bǔ)碼的概念,所有的負(fù)數(shù)(x)的補(bǔ)碼都可由模 28x來得到。但是,利用把正數(shù)連符號位按位取反再加1這樣的簡便方法,避免了求補(bǔ)碼過程中的減法,使2的補(bǔ)碼的運(yùn)算具有實(shí)用價(jià)值。因此,在微型機(jī)中,凡是帶符號數(shù)一律是用補(bǔ)碼表示的,這樣,運(yùn)算的結(jié)果也是用補(bǔ)碼表示的。 由于計(jì)算機(jī)的字長是有一定限制的,所以一
57、個(gè)帶符號數(shù)有一定的范圍。字長為8位用補(bǔ)碼表示時(shí)其范圍為:128127。當(dāng)運(yùn)算的結(jié)果超出這個(gè)表達(dá)范圍時(shí),就不正確了,這種情況稱為溢出。這時(shí),數(shù)就要用多字節(jié)(如16、24位等)來表示。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 2無符號整數(shù)無符號整數(shù) 機(jī)器數(shù)的表示方法就是把數(shù)的符號數(shù)碼化了,它既能表示數(shù)的絕對值又能表示數(shù)的符號。如果把所有有效位都用于表示數(shù)的絕對值而不保留符號位(即所有數(shù)位都是有效數(shù)字),則用這種方法表示的數(shù)叫做無符號數(shù),計(jì)算機(jī)中有時(shí)需要無符號數(shù)形式。例如,地址用無符號整數(shù)表示。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 3字符編碼字符編碼 在計(jì)算機(jī)中,數(shù)字是用
58、二進(jìn)制表示的。而計(jì)算機(jī)處理的對象又不僅僅是數(shù)字,還包括各種字符,如大小寫英文字母、標(biāo)點(diǎn)符號、運(yùn)算符號等等。為了使計(jì)算機(jī)能識別和處理它們,這些字符應(yīng)如何表示呢? 由于計(jì)算機(jī)中的基本物理器件是具有兩個(gè)狀態(tài)的器件,所以各種字符只能按特定的規(guī)則用若干位二進(jìn)制碼的組合來表示。編碼可以有各種方式,目前,在計(jì)算機(jī)中字符編碼普遍采用的是ascii碼(american standard code for information interchange,美國標(biāo)準(zhǔn)信息交換碼)。ascii碼現(xiàn)已被國際標(biāo)準(zhǔn)化組織(iso)接收為國際標(biāo)準(zhǔn)。ascii碼有7位版本和8位版本兩種,國際上通用的ascii碼是7位版本。它包含1
59、0個(gè)阿拉伯?dāng)?shù)字、52個(gè)英文大小寫字母、32個(gè)標(biāo)點(diǎn)符號和運(yùn)算符、34個(gè)控制碼,共128個(gè)字符,所以可用7位二進(jìn)制數(shù)表示。7位ascii碼見表1-3。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識 要確定一個(gè)數(shù)字、字母、符號或控制字符的ascii碼,可在表中先找出它的位置,然后找出它所對應(yīng)的十進(jìn)制值或十六進(jìn)制值。例如,小寫字母“a”的ascii碼其十進(jìn)制值是97,十六進(jìn)制值是61h,轉(zhuǎn)換成二進(jìn)制值是0110000lb。大寫字母az的ascii碼是41h5ah,小寫字母az的ascii碼是61h7ah。數(shù)字09的ascii碼值用十進(jìn)制數(shù)表示是4857,用十六進(jìn)制數(shù)表示是30h39h。在微型計(jì)算
60、機(jī)中,要輸出的十進(jìn)制數(shù)必須用ascii碼表示,例如,要想在顯示器上顯示9,應(yīng)使用其對應(yīng)的ascii碼,即39h。第1章 基 礎(chǔ) 知 識【精品】第1章 基 礎(chǔ) 知 識表表1-3 ascii碼表碼表十進(jìn)制十六進(jìn)制值字符0000070007nulsoh008015080fbsht0160231017dledc1024031181fcanem0320392027sp!040047282f()048055303701056063383f890640714047a072079484fhi0800875057pq088095585fxy0961036067a104111686fhi1121197077pq12012
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣州2024年廣東廣州市番禺區(qū)衛(wèi)生健康系統(tǒng)事業(yè)單位招聘331人筆試歷年典型考點(diǎn)(頻考版試卷)附帶答案詳解
- 2024年04月上海交通銀行信用卡中心總部校園招考筆試歷年參考題庫附帶答案詳解
- 2024年中國自動(dòng)捆扎機(jī)市場調(diào)查研究報(bào)告
- 2024年03月哈爾濱銀行沈陽分行2024年社會招考1名副行長崗位人員筆試歷年參考題庫附帶答案詳解
- 2025版電力行業(yè)應(yīng)急電力采購合同規(guī)范范本3篇
- 寧德2025年福建寧德市壽寧縣教育局招聘高層次專任教師29人筆試歷年典型考點(diǎn)(頻考版試卷)附帶答案詳解
- 2025版房地產(chǎn)廣告投放競價(jià)代理協(xié)議3篇
- 2025版融資擔(dān)保出借咨詢服務(wù)全面協(xié)議3篇
- 2024年月嫂服務(wù)合同范本與雇主權(quán)益保護(hù)3篇
- 2024醫(yī)療器械出口質(zhì)量檢驗(yàn)與合規(guī)性保障合同3篇
- 北師大版九年級數(shù)學(xué)上冊教學(xué)教學(xué)工作總結(jié)
- (完整)小學(xué)語文考試專用作文方格紙
- 管理供應(yīng)商 供應(yīng)商績效評估
- 1000MW機(jī)組鍋爐過渡段T23水冷壁管檢修導(dǎo)則(征求意見稿)
- 夾層鋼結(jié)構(gòu)施工方案鋼結(jié)構(gòu)夾層施工方案
- 國開本科《商務(wù)英語4》機(jī)考題庫及答案
- GB/T 33661-2017農(nóng)歷的編算和頒行
- GB/T 28708-2012管道工程用無縫及焊接鋼管尺寸選用規(guī)定
- GB/T 231.2-2012金屬材料布氏硬度試驗(yàn)第2部分:硬度計(jì)的檢驗(yàn)與校準(zhǔn)
- 《天津市安全生產(chǎn)條例》試習(xí)題 -參考答案
- 傳統(tǒng)運(yùn)動(dòng)養(yǎng)生法課件
評論
0/150
提交評論