版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、匯編語言程序設計全冊配套最匯編語言程序設計全冊配套最完整精品課件完整精品課件2 2匯編語言程序設計匯編語言程序設計21世紀高職高專新概念教材世紀高職高專新概念教材匯編語言程序設計匯編語言程序設計 第第1 1章章 基礎知識基礎知識 第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 第第3 3章章 宏匯編語言宏匯編語言 第第4 4章章 程序設計方法程序設計方法 第第5 5章章 輸入輸出和中斷輸入輸出和中斷 第第6 6章章 應用系統(tǒng)開發(fā)應用系統(tǒng)開發(fā)第第1章章 基礎知識基礎知識 1.1 1.1 匯編語言及特點匯編語言及特點 1.2 1.2 數(shù)據(jù)表示數(shù)據(jù)表示 1.3 80861.3 8086CPUC
2、PU和寄存器組和寄存器組 1.4 1.4 存儲器物理地址的形成存儲器物理地址的形成第第2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 2.1 尋址方式尋址方式 2.2 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令 2.3 算術運算類指令算術運算類指令 2.4 位操作類指令位操作類指令 2.5 串操作類指令串操作類指令 2.6 控制轉(zhuǎn)移類指令控制轉(zhuǎn)移類指令 2.7 處理機控制類指令處理機控制類指令第第3章章 宏匯編語言宏匯編語言 3.1 3.1 宏匯編語言格式宏匯編語言格式 3.2 3.2 匯編語句表達式匯編語句表達式 3.3 3.3 偽指令偽指令 3.4 3.4 DOSDOS系統(tǒng)功能調(diào)用系統(tǒng)功能調(diào)用 3.5 3
3、.5 綜合舉例綜合舉例第4章 程序設計方法 4.1 概述概述 4.2 順序程序設計順序程序設計 4.3 分支程序設計分支程序設計 4.4 循環(huán)程序設計循環(huán)程序設計 4.5 子程序設計子程序設計 4.6 模塊化程序設計模塊化程序設計 4.7 高級匯編語言技高級匯編語言技術術第第5 5章章 輸入輸出和中斷輸入輸出和中斷 5.1 5.1 I/OI/O設備數(shù)據(jù)傳送方式設備數(shù)據(jù)傳送方式 5.2 5.2 中斷傳送方式中斷傳送方式 5.3 5.3 BIOSBIOS中斷調(diào)用方式中斷調(diào)用方式 5.4 5.4 綜合舉例綜合舉例第第6章章 應用系統(tǒng)開發(fā)應用系統(tǒng)開發(fā) 6.1 6.1 汽車動畫程序開發(fā)汽車動畫程序開發(fā)
4、6.2 6.2 發(fā)聲系統(tǒng)程序開發(fā)發(fā)聲系統(tǒng)程序開發(fā)歡迎您使用歡迎您使用匯編語言程序設計匯編語言程序設計Thank you very much !Thank you very much !中國水利水電出版社結結 束束第第1章章 基礎知識基礎知識 1.1 1.1 匯編語言及特點匯編語言及特點 1.2 1.2 數(shù)據(jù)表示數(shù)據(jù)表示 1.3 80861.3 8086CPUCPU和寄存器組和寄存器組 1.4 1.4 存儲器物理地址的形成存儲器物理地址的形成開開 始始1.1 1.1 匯編語言及特點匯編語言及特點 1.1.1 機器語言機器語言 1.1.2 匯編語言匯編語言 1.1.3 高級語言高級語言 1.1.4
5、 匯編語言的特點匯編語言的特點返回本章首頁返回本章首頁1.1.1 機器語言機器語言計算機能夠直接識別的數(shù)據(jù)是由二進計算機能夠直接識別的數(shù)據(jù)是由二進制數(shù)制數(shù)0 0和和1 1組成的代碼。機器指令就是用組成的代碼。機器指令就是用二進制代碼組成的指令,一條機器指令二進制代碼組成的指令,一條機器指令控制計算機完成一個基本操作。控制計算機完成一個基本操作。用機器語言編寫的程序是計算機惟一用機器語言編寫的程序是計算機惟一能夠直接識別并執(zhí)行的程序,而用其他能夠直接識別并執(zhí)行的程序,而用其他語言編寫的程序必須經(jīng)過翻譯才能變換語言編寫的程序必須經(jīng)過翻譯才能變換成機器語言程序,所以,機器語言程序成機器語言程序,所以
6、,機器語言程序被稱為目標程序。被稱為目標程序。返回本節(jié)返回本節(jié)1.1.2 匯編語言匯編語言為了克服機器語言的缺點,人們采用助記符表示機為了克服機器語言的缺點,人們采用助記符表示機器指令的操作碼器指令的操作碼, ,用變量代替操作數(shù)的存放地址等,這樣用變量代替操作數(shù)的存放地址等,這樣就形成了匯編語言。所以匯編語言是一種用符號書寫的、就形成了匯編語言。所以匯編語言是一種用符號書寫的、基本操作與機器指令相對應的、并遵循一定語法規(guī)則的基本操作與機器指令相對應的、并遵循一定語法規(guī)則的計算機語言。計算機語言。用匯編語言編寫的程序稱為匯編源程序。用匯編語言編寫的程序稱為匯編源程序。 匯編語言是一種符號語言,比
7、機器語言容易理解和匯編語言是一種符號語言,比機器語言容易理解和掌握,也容易調(diào)試和維護。但是,匯編語言源程序要翻掌握,也容易調(diào)試和維護。但是,匯編語言源程序要翻譯成機器語言程序才可以由計算機執(zhí)行。這個翻譯的過譯成機器語言程序才可以由計算機執(zhí)行。這個翻譯的過程稱為程稱為“匯編匯編”,這種把匯編源程序翻譯成目標程序的,這種把匯編源程序翻譯成目標程序的語言加工程序稱為匯編程序。語言加工程序稱為匯編程序。 返回本節(jié)返回本節(jié)1.1.3 高級語言高級語言匯編語言雖然較機器語言直觀,但仍匯編語言雖然較機器語言直觀,但仍然煩瑣難懂。于是人們研制出了高級程然煩瑣難懂。于是人們研制出了高級程序設計語言。高級程序設計
8、語言接近于序設計語言。高級程序設計語言接近于人類自然語言的語法習慣,與計算機硬人類自然語言的語法習慣,與計算機硬件無關,易被用戶掌握和使用。件無關,易被用戶掌握和使用。目前廣目前廣泛應用的高級語言有多種,如泛應用的高級語言有多種,如BASICBASIC、FORTRANFORTRAN、PASCALPASCAL、C C、C+C+等等。等等。返回本節(jié)返回本節(jié)1.1.4 匯編語言的特點匯編語言的特點 (1 1)匯編語言與處理器密切相關。)匯編語言與處理器密切相關。 (2 2)匯編語言程序效率高。)匯編語言程序效率高。 (3 3)編寫匯編語言源程序比編寫高級)編寫匯編語言源程序比編寫高級語言源程序煩瑣。
9、語言源程序煩瑣。 (4 4)調(diào)試匯編語言程序比調(diào)試高級語言)調(diào)試匯編語言程序比調(diào)試高級語言程序困難。程序困難。 匯編語言的主要應用場合:匯編語言的主要應用場合: (1 1)程序執(zhí)行占用較短的時間,或者占)程序執(zhí)行占用較短的時間,或者占用較小存儲容量的場合。用較小存儲容量的場合。 (2 2)程序與計算機硬件密切相關,程序)程序與計算機硬件密切相關,程序直接控制硬件的場合。直接控制硬件的場合。 (3 3)需提高大型軟件性能的場合。)需提高大型軟件性能的場合。 (4 4)沒有合適的高級語言的場合。)沒有合適的高級語言的場合。 返回本節(jié)返回本節(jié)1.2 1.2 數(shù)據(jù)表示數(shù)據(jù)表示 1.2.1 數(shù)值數(shù)據(jù)數(shù)值
10、數(shù)據(jù) 1.2.2 字符數(shù)據(jù)字符數(shù)據(jù)返回本章首頁返回本章首頁1.2.1 數(shù)值數(shù)據(jù)數(shù)值數(shù)據(jù) 數(shù)值數(shù)據(jù)分為有符號數(shù)和無符號數(shù)。無數(shù)值數(shù)據(jù)分為有符號數(shù)和無符號數(shù)。無符號數(shù)最高位表示數(shù)值符號數(shù)最高位表示數(shù)值, ,而有符號數(shù)最高而有符號數(shù)最高位表示符號。有符號數(shù)有不同的編碼方位表示符號。有符號數(shù)有不同的編碼方式,常用的是補碼。式,常用的是補碼。1. 1. 原碼原碼 最高位表示符號(正數(shù)用最高位表示符號(正數(shù)用0,0,負數(shù)用負數(shù)用1 1),),其他位表示數(shù)值位,稱為有符號數(shù)的原其他位表示數(shù)值位,稱為有符號數(shù)的原碼表示法。碼表示法。 【例【例1.11.1】有符號數(shù)的原碼】有符號數(shù)的原碼表示。表示。 X = 4
11、 5 = 0 0 1 0 1 1 0 1 B X X = 4 5 = 0 0 1 0 1 1 0 1 B X 原原 = = 0010110100101101B B X=-45, XX=-45, X原原=10101101=10101101B B 原碼表示簡單易懂,但若是兩個異號數(shù)原碼表示簡單易懂,但若是兩個異號數(shù)相加(或兩個同號數(shù)相減)相加(或兩個同號數(shù)相減), ,就要做減法。就要做減法。為了把減法運算轉(zhuǎn)換為加法運算就引進為了把減法運算轉(zhuǎn)換為加法運算就引進了反碼和補碼。了反碼和補碼。. . 反碼反碼 正數(shù)的反碼與原碼相同,符號位用正數(shù)的反碼與原碼相同,符號位用0 0表示,表示,數(shù)值位值不變。負數(shù)
12、的反碼符號位用數(shù)值位值不變。負數(shù)的反碼符號位用1 1表表示示, , 數(shù)值位為原碼數(shù)值位按位取反形成,數(shù)值位為原碼數(shù)值位按位取反形成,即即0 0變變1 1、1 1變變0 0。 【例【例1.21.2】有符號數(shù)的反碼表示。】有符號數(shù)的反碼表示。 X=45=00101101B, XX=45=00101101B, X反反=00101101=00101101B B X=-45, XX=-45, X反反=11010010=11010010B B3. 3. 補碼補碼 正數(shù)的補碼與原碼相同,即符號位用正數(shù)的補碼與原碼相同,即符號位用0 0表表示,數(shù)值位值不變。負數(shù)的補碼為反碼示,數(shù)值位值不變。負數(shù)的補碼為反碼加
13、加1 1 形成。形成。 【例【例1.31.3】有符號數(shù)的補碼表示?!坑蟹枖?shù)的補碼表示。 X=45=00101101B XX=45=00101101B X補補=00101101=00101101B B X=-45 XX=-45 X補補=11010011=11010011B B4. 4. 符號擴展符號擴展 在數(shù)據(jù)處理時在數(shù)據(jù)處理時, ,有時需要把有時需要把8 8位二進制數(shù)擴展成位二進制數(shù)擴展成1616位二位二進制數(shù)進制數(shù), ,當要擴展的數(shù)是無符號數(shù)時當要擴展的數(shù)是無符號數(shù)時, ,可在最高位前擴展可在最高位前擴展8 8個個0 0。如果要擴展的數(shù)是補碼形式的有符號數(shù)。如果要擴展的數(shù)是補碼形式的有符號
14、數(shù), ,那么那么, ,就要進行符號位的擴展,符號擴展后,其結果仍是該就要進行符號位的擴展,符號擴展后,其結果仍是該數(shù)的補碼。數(shù)的補碼。 【例【例1.41.4】符號擴展表示?!糠枖U展表示。 2121的的8 8位二進制補碼為:位二進制補碼為:00010101 00010101 符 號 擴 展 后符 號 擴 展 后 2 12 1 的的 1 61 6 位 二 進 制 補 碼 為 :位 二 進 制 補 碼 為 : 00000000000101010000000000010101。 0001010100010101和和00000000000101010000000000010101都是都是2121的補碼
15、。的補碼。5. 5. 數(shù)據(jù)的表示范圍和大小數(shù)據(jù)的表示范圍和大小 n n位二進制數(shù)能夠表示的無符號整數(shù)的范位二進制數(shù)能夠表示的無符號整數(shù)的范圍是圍是: : 0 0 I 2n-1I 2n-1 n n位二進制數(shù)能夠表示的有符號整數(shù)的范位二進制數(shù)能夠表示的有符號整數(shù)的范圍是圍是: : -2-2(n-1n-1) I +2 I +2(n-1n-1)-1-16 6十六進制表示十六進制表示 由于二進制數(shù)的基數(shù)太小,書寫和閱讀由于二進制數(shù)的基數(shù)太小,書寫和閱讀都不方便都不方便. .而十六進制的基數(shù)而十六進制的基數(shù)16162 24 4,這,這樣二進制數(shù)與十六進制之間能方便地轉(zhuǎn)樣二進制數(shù)與十六進制之間能方便地轉(zhuǎn)換。
16、因此,習慣把二進制數(shù)改寫成十六換。因此,習慣把二進制數(shù)改寫成十六進制數(shù),在匯編語言程序設計時尤其如進制數(shù),在匯編語言程序設計時尤其如此。此。 在書寫時,為了區(qū)別于十六進制和二進在書寫時,為了區(qū)別于十六進制和二進制數(shù),通常在十六進制數(shù)后加字母制數(shù),通常在十六進制數(shù)后加字母HH。返回本節(jié)返回本節(jié)1.2.2 字符數(shù)據(jù)字符數(shù)據(jù) 1 1ASCIIASCII碼碼 2 2BCDBCD碼碼1 1ASCIIASCII碼碼 標準標準ASCIIASCII碼用碼用7 7位二進制數(shù)編碼,共有位二進制數(shù)編碼,共有128128個。個。 計算機存儲器基本單位為計算機存儲器基本單位為8 8位,位,ASCIIASCII碼的最高位
17、通常為碼的最高位通常為0 0,通信時,最高位用,通信時,最高位用作奇偶校驗位。作奇偶校驗位。 ASCII ASCII碼表中的前碼表中的前3232個和最后個和最后1 1個編碼個編碼是不能顯示的控制字符,用于表示某種是不能顯示的控制字符,用于表示某種操作。操作。 ASCII ASCII碼表中碼表中2020HH后的后的9494個編碼是可個編碼是可顯示和打印的字符,其中包括數(shù)碼顯示和打印的字符,其中包括數(shù)碼0 09 9,英文字母,標點符號等。英文字母,標點符號等。 2 2BCDBCD碼碼雖然二進制數(shù)實現(xiàn)容易雖然二進制數(shù)實現(xiàn)容易, ,但不符合人們但不符合人們的使用習慣的使用習慣, ,且書寫閱讀不方便,所
18、以在且書寫閱讀不方便,所以在計算機輸入輸出時通常還是采用十進制計算機輸入輸出時通常還是采用十進制來表示數(shù),這就需要實現(xiàn)十進制與二進來表示數(shù),這就需要實現(xiàn)十進制與二進制間的轉(zhuǎn)換。為了轉(zhuǎn)換方便制間的轉(zhuǎn)換。為了轉(zhuǎn)換方便, ,常采用二進常采用二進制編碼的十進制制編碼的十進制, ,簡稱為簡稱為BCDBCD碼。碼。BCDBCD碼就是用碼就是用4 4位二進制數(shù)表示位二進制數(shù)表示1 1位位十進制整數(shù)。表示的方法有多種,常用十進制整數(shù)。表示的方法有多種,常用的是的是84218421BCDBCD碼,它的表示規(guī)律如表碼,它的表示規(guī)律如表1.11.1所示。所示。 表1.1 十進制數(shù)字的8421BCD碼十進制數(shù)字842
19、1BCD碼十進制數(shù)字8421BCD碼00000501011000160110200107011130011810004010091001返回本節(jié)返回本節(jié)1.3 80861.3 8086CPUCPU和寄存器組和寄存器組 1.3.1 Intel8086CPU內(nèi)部結內(nèi)部結構構 1.3.2 8086寄存器組寄存器組 1.3.3 標志寄存器標志寄存器返回本章首頁返回本章首頁1.3.1 Intel8086CPU內(nèi)部內(nèi)部結構結構圖1.2 8086CPU內(nèi)部結構圖圖1.2 8086CPU內(nèi)部結構內(nèi)部結構返回本節(jié)返回本節(jié)1.3.2 8086寄存器組寄存器組圖圖1.3 8086CPU寄存器分組寄存器分組1通用寄存
20、器通用寄存器 (1 1)數(shù)據(jù)寄存器)數(shù)據(jù)寄存器 數(shù)據(jù)寄存器共有數(shù)據(jù)寄存器共有4 4個寄存器個寄存器AXAX、BXBX、CXCX、DXDX,用用來保存操作數(shù)或運算結果等信息。來保存操作數(shù)或運算結果等信息。 AXAX寄存器稱為累加器。使用頻度最高,用于算術、邏寄存器稱為累加器。使用頻度最高,用于算術、邏輯運算以及與外設傳送信息等。輯運算以及與外設傳送信息等。 BXBX寄存器稱為基址寄存器。常用于存放存儲器地址。寄存器稱為基址寄存器。常用于存放存儲器地址。 CXCX寄存器稱為計數(shù)器。一般作為循環(huán)或串操作等指令寄存器稱為計數(shù)器。一般作為循環(huán)或串操作等指令中的隱含計數(shù)器。中的隱含計數(shù)器。 DXDX寄存器
21、稱為數(shù)據(jù)寄存器。常用來存放雙字數(shù)據(jù)的高寄存器稱為數(shù)據(jù)寄存器。常用來存放雙字數(shù)據(jù)的高1616位,或存放外設端口地址。位,或存放外設端口地址。 變址和指針寄存器包括變址和指針寄存器包括SISI、DIDI、SPSP、BPBP個個1616位寄位寄存器,主要用于存放某個存儲單元的偏移地址。存器,主要用于存放某個存儲單元的偏移地址。 SISI是源變址寄存器,是源變址寄存器,DIDI是目的變址寄存器,在字符串是目的變址寄存器,在字符串操作中,操作中,SISI和和DIDI都具有自動增量或減量的功能。都具有自動增量或減量的功能。 SP SP為堆棧指針寄存器,用于存放當前堆棧段中棧頂為堆棧指針寄存器,用于存放當前
22、堆棧段中棧頂?shù)钠频刂?;的偏移地址;BPBP為基址指針寄存器,用于存放堆棧段為基址指針寄存器,用于存放堆棧段中某一存儲單元的偏移地址。中某一存儲單元的偏移地址。 (2)變址和指針寄存器)變址和指針寄存器2 2段寄存器段寄存器 80868086CPUCPU的個的個1616位的段寄存器分別位的段寄存器分別稱為代碼段寄存器稱為代碼段寄存器CSCS,數(shù)據(jù)段寄存器數(shù)據(jù)段寄存器DSDS,堆棧段寄存器堆棧段寄存器SSSS,附加數(shù)據(jù)段寄附加數(shù)據(jù)段寄存器存器ESES。段寄存器用來確定該段在內(nèi)存段寄存器用來確定該段在內(nèi)存中的起始地址。中的起始地址。 代碼段用來存放程序的指令序列。代碼段用來存放程序的指令序列。CS
23、CS存存放代碼段的段首址,指令指針寄存器放代碼段的段首址,指令指針寄存器IPIP指示代碼段中指令的偏移地址。指示代碼段中指令的偏移地址。3 3指令指針指令指針80868086CPUCPU中的指令指針中的指令指針I(yè)PIP,它總是它總是保存下一次將要從主存中取出指令的偏保存下一次將要從主存中取出指令的偏移地址,偏移地址的值為該指令到所在移地址,偏移地址的值為該指令到所在段段首址的字節(jié)距離。在目標程序運行段段首址的字節(jié)距離。在目標程序運行時,時,IPIP的內(nèi)容由微處理器硬件自動設置,的內(nèi)容由微處理器硬件自動設置,程序不能直接訪問程序不能直接訪問IPIP,但一些指令卻可但一些指令卻可改變改變IPIP的
24、值,如轉(zhuǎn)移指令、子程序調(diào)用的值,如轉(zhuǎn)移指令、子程序調(diào)用指令等。指令等。返回本節(jié)返回本節(jié)1.3.3 標志寄存器標志寄存器 80868086CPUCPU中有一個很重要的中有一個很重要的1616位標志位標志寄存器,它包含寄存器,它包含9 9個標志位,主要用于保個標志位,主要用于保存一條指令執(zhí)行后,存一條指令執(zhí)行后,CPUCPU所處狀態(tài)信息所處狀態(tài)信息及運算結果的特征。及運算結果的特征。 1 1條件標志條件標志 2 2狀態(tài)控制標志狀態(tài)控制標志 1條件標志條件標志 (1)進位標志)進位標志CF(2)零標志)零標志ZF(3)符號標志)符號標志SF(4)溢出標志)溢出標志 OF (5)奇偶標志)奇偶標志 P
25、F (6)輔助進位標志輔助進位標志AF2狀態(tài)控制標志狀態(tài)控制標志 (1 1)方向標志)方向標志DFDF (2 2)中斷允許標志)中斷允許標志IFIF (3 3)追蹤標志)追蹤標志TFTF返回本節(jié)返回本節(jié)1.4 1.4 存儲器物理地址的形成存儲器物理地址的形成 1.4.1 存儲器存儲器 1.4.2 存儲器單元的地址和內(nèi)存儲器單元的地址和內(nèi)容容 1.4.3 物理地址的形成物理地址的形成返回本章首頁返回本章首頁1.4.1 存儲器存儲器存儲器是計算機的記憶部件,用來存放程序和數(shù)存儲器是計算機的記憶部件,用來存放程序和數(shù)據(jù)。按所在的位置,存儲器可以分成主存儲器和輔助據(jù)。按所在的位置,存儲器可以分成主存儲
26、器和輔助存儲器。存儲器。主存儲器存放當前正在執(zhí)行的程序和使用的數(shù)據(jù),主存儲器存放當前正在執(zhí)行的程序和使用的數(shù)據(jù),CPUCPU可以直接存取,它由半導體存儲器芯片構成,其可以直接存取,它由半導體存儲器芯片構成,其成本高,容量小,但速度快。成本高,容量小,但速度快。輔助存儲器可用來長期保存大量程序和數(shù)據(jù)輔助存儲器可用來長期保存大量程序和數(shù)據(jù), ,CPUCPU需要通過需要通過I/OI/O接口訪問,它由磁盤或光盤構成,其成本接口訪問,它由磁盤或光盤構成,其成本低,容量大,但速度較慢。低,容量大,但速度較慢。 返回本節(jié)返回本節(jié)1.4.2 存儲器單元的地址和內(nèi)存儲器單元的地址和內(nèi)容容 存儲單元地址存儲單元地
27、址 :80868086系統(tǒng)中,為了標系統(tǒng)中,為了標識和存取每一個存儲單元,給每個存儲識和存取每一個存儲單元,給每個存儲單元規(guī)定一個編號,這就是存儲單元地單元規(guī)定一個編號,這就是存儲單元地址。址。 存儲單元的內(nèi)容存儲單元的內(nèi)容 :一個存儲單元中存放:一個存儲單元中存放的信息稱為該存儲單元的內(nèi)容。的信息稱為該存儲單元的內(nèi)容。 圖圖1.41.4表明了存表明了存儲器中部分存儲器中部分存儲單元存放信儲單元存放信息情況。從圖息情況。從圖1.41.4可看到可看到, ,地地址為址為3456034560HH的字節(jié)的存儲的字節(jié)的存儲單元中的內(nèi)容單元中的內(nèi)容是是3434HH,而地而地址為址為3456134561HH
28、的字節(jié)存儲單的字節(jié)存儲單元中的內(nèi)容是元中的內(nèi)容是1212HH。返回本節(jié)返回本節(jié)1.4.3 物理地址的形成物理地址的形成80868086CPUCPU的地址線是的地址線是2020位的,這樣最大可尋址位的,這樣最大可尋址空間應為空間應為2 22020=1=1MBMB,其物理地址范圍從其物理地址范圍從0000000000HHFFFFFHFFFFFH。而而80868086CPUCPU寄存器都是寄存器都是1616位的。那么,位的。那么,這這1 1MBMB空間如何用空間如何用1616位寄存器表達呢?位寄存器表達呢?根據(jù)要求可把根據(jù)要求可把1 1MM字節(jié)地址空間劃成若干邏輯段。字節(jié)地址空間劃成若干邏輯段。每個
29、邏輯段必須滿足兩個條件:一是邏輯段的起始地每個邏輯段必須滿足兩個條件:一是邏輯段的起始地址(簡稱段首址)必須是址(簡稱段首址)必須是1616的倍數(shù);二是邏輯段的最的倍數(shù);二是邏輯段的最大長度為大長度為6464KK。按照這兩個條件,按照這兩個條件,1 1MM字節(jié)地址空間字節(jié)地址空間最多可劃分成最多可劃分成6464KK個邏輯段,最少也要劃分成個邏輯段,最少也要劃分成1616個邏個邏輯段。邏輯段與邏輯段可以相連,也可以不連,還可輯段。邏輯段與邏輯段可以相連,也可以不連,還可以重疊。以重疊?!纠纠?.51.5】各獨立段的分配情況示例?!扛鳘毩⒍蔚姆峙淝闆r示例。 設設CS=B000HCS=B000H、
30、DS=1CDEHDS=1CDEH、SS=4200HSS=4200H、ES=0150H,ES=0150H,它們分別為它們分別為代碼段、數(shù)據(jù)段、堆棧段和附加段的段代碼段、數(shù)據(jù)段、堆棧段和附加段的段首址。自每個段首址開始,各段均占首址。自每個段首址開始,各段均占6464KBKB的范圍,各段之間互不重疊。如的范圍,各段之間互不重疊。如圖圖1.51.5所示。所示。【例【例1.61.6】各段相互重疊情況示例?!扛鞫蜗嗷ブ丿B情況示例。 設設CS=0200HCS=0200H、DS=0400HDS=0400H、SS=0480HSS=0480H,這樣代碼段、數(shù)據(jù)段和堆這樣代碼段、數(shù)據(jù)段和堆棧段的物理首地址分別為棧
31、段的物理首地址分別為0200002000HH、04000H04000H和和0480004800HH。其中代碼段占其中代碼段占8 8KBKB地址空間,數(shù)據(jù)段占地址空間,數(shù)據(jù)段占2 2KBKB,堆棧段堆棧段占占256256B B,SP=0100HSP=0100H。如圖如圖1.61.6所示。所示。 圖圖1.6 各段重疊存儲單元分配圖各段重疊存儲單元分配圖返回本節(jié)返回本節(jié)Thank you very much !Thank you very much !本章到此結束,謝謝您的光臨!返回本章首頁返回本章首頁結結 束束第第2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 2.1 尋址方式尋址方式 2.2 數(shù)據(jù)
32、傳送類指令數(shù)據(jù)傳送類指令 2.3 算術運算類指令算術運算類指令 2.4 位操作類指令位操作類指令 2.5 串操作類指令串操作類指令 2.6 控制轉(zhuǎn)移類指令控制轉(zhuǎn)移類指令 2.7 處理機控制類指令處理機控制類指令開開 始始80868086CPUCPU的指令系統(tǒng)的基本指令的指令系統(tǒng)的基本指令 包括包括數(shù)據(jù)傳送類指令、算術運算數(shù)據(jù)傳送類指令、算術運算類指令、位操作類指令類指令、位操作類指令、串操作、串操作類指令類指令、控制轉(zhuǎn)移類指令、控制轉(zhuǎn)移類指令、處理、處理機控制類指令。后幾節(jié)將分別介機控制類指令。后幾節(jié)將分別介紹這些指令的語句格式和功能。紹這些指令的語句格式和功能。80868086CPUCPU的
33、指令的共同的規(guī)律的指令的共同的規(guī)律 l l 大多數(shù)數(shù)據(jù)傳送類指令、算術運算類指令、大多數(shù)數(shù)據(jù)傳送類指令、算術運算類指令、位操作類指令及串操作類指令,其雙操作數(shù)位操作類指令及串操作類指令,其雙操作數(shù)指令有相同的語句格式和操作規(guī)定。指令有相同的語句格式和操作規(guī)定。 語句格式:語句格式: 標號:標號: 操作符操作符 OPDOPD, OPS OPS ;注釋注釋 l l 算術運算和位操作類指令的部分單操作數(shù)算術運算和位操作類指令的部分單操作數(shù)指令有相同的語句格式和操作規(guī)定。指令有相同的語句格式和操作規(guī)定。 語句格式:語句格式: 標號:標號: 操作符操作符 OPD OPD ;注釋注釋 2.1 尋址方式尋址
34、方式 2.1.1 2.1.1 寄存器尋址寄存器尋址 2.1.2 2.1.2 寄存器間接尋址寄存器間接尋址 2.1.3 2.1.3 變址尋址變址尋址 2.1.4 2.1.4 基址加變址尋址基址加變址尋址 2.1.5 2.1.5 立即尋址立即尋址 2.1.6 2.1.6 直接尋址直接尋址 2.1.7 2.1.7 跨段問題跨段問題返回本章首頁返回本章首頁2.1.1 寄存器尋址寄存器尋址 寄存器尋址方式的操作數(shù)在指令指明的寄存器尋址方式的操作數(shù)在指令指明的寄存器中。寄存器中。 匯編格式:匯編格式:R R 其中其中R R表示寄存器名。表示寄存器名。 功能:操作數(shù)直接存放在寄存器功能:操作數(shù)直接存放在寄存
35、器R R中。中。 圖形表示:圖形表示: R R 指令指令操作數(shù)操作數(shù)【例【例2.12.1】 下列程序執(zhí)行后,下列程序執(zhí)行后,(AXAX)= =?,(?,(BXBX)= =? MOV AX MOV AX,1234H1234H MOV BX MOV BX,5678H5678H ADD AX ADD AX,BXBX 該程序中該程序中MOVMOV指令為數(shù)據(jù)傳送指令操作符,指令為數(shù)據(jù)傳送指令操作符,ADDADD指令指令為加法指令操作符,三條指令皆為雙操作數(shù)指令。第為加法指令操作符,三條指令皆為雙操作數(shù)指令。第一、二條指令一、二條指令AXAX、BXBX皆為目的操作數(shù)地址,為寄存皆為目的操作數(shù)地址,為寄存器
36、尋址方式。第三條指令中,器尋址方式。第三條指令中,AXAX為目的操作數(shù)地址,為目的操作數(shù)地址,BXBX為源操作數(shù)地址。源地址和目的地址皆為寄存器尋為源操作數(shù)地址。源地址和目的地址皆為寄存器尋址方式。址方式。 圖形表示:圖形表示: 執(zhí)行:執(zhí)行:12341234HAXHAX 5678HBX 5678HBX (AXAX)+ +(BXBX)AXAX 執(zhí)行后:(執(zhí)行后:(AXAX)=68ACH=68ACH,(,(BXBX)=5678H=5678H返回本節(jié)返回本節(jié)2.1.2 寄存器間接尋址寄存器間接尋址 寄存器間接尋址方式中,寄存寄存器間接尋址方式中,寄存器的內(nèi)容為操作數(shù)的偏移地址器的內(nèi)容為操作數(shù)的偏移地
37、址EAEA,操作數(shù)在存儲器中。操作數(shù)在存儲器中。 匯編格式:匯編格式: RR 功能:操作數(shù)存放在存儲器,功能:操作數(shù)存放在存儲器,寄存器寄存器R R存放操作數(shù)的偏移地址存放操作數(shù)的偏移地址EAEA。偏移地址偏移地址EA計算方法如下:計算方法如下:EA=SISI作間址寄存器。 DIDI作間址寄存器。BX BX作間址寄存器。BP BP作間址寄存器。 執(zhí)行指令:執(zhí)行指令:MOV AX MOV AX ,BP BP 執(zhí)行后:(執(zhí)行后:(AXAX)=?=?,(,(BPBP)=?=?,(,(SSSS)=?=?,(20030H20030H)=?=? 圖形表示如下:圖形表示如下: 【例【例2.2】寄存器和存儲器
38、內(nèi)容分】寄存器和存儲器內(nèi)容分別為:(別為:(AX)=0,(,(BP)=0030H,(,(SS)=2000H,(20030H)=1234H返回本節(jié)返回本節(jié)2.1.3 變址尋址變址尋址 變址尋址方式操作數(shù)的偏移地址變址尋址方式操作數(shù)的偏移地址EAEA為寄為寄存器的內(nèi)容加位移量,操作數(shù)在存儲器存器的內(nèi)容加位移量,操作數(shù)在存儲器中。中。 匯編格式:匯編格式:XRXR(X X表示位移量,是表示位移量,是8 8位位或或1616位二進制補碼表示的有符號數(shù))位二進制補碼表示的有符號數(shù)) 功能:操作數(shù)存放在存儲器,寄存器功能:操作數(shù)存放在存儲器,寄存器R R的的內(nèi)容加位移量內(nèi)容加位移量X X為操作數(shù)的偏移地址為
39、操作數(shù)的偏移地址EAEA。 圖形表示如下:圖形表示如下: 偏移地址偏移地址EAEA計算方法如下:計算方法如下:【例【例2.32.3】 設執(zhí)行前:設執(zhí)行前: (AXAX)=0040H=0040H,(,(BXBX)=0030H=0030H,(,(DSDS)=2000H=2000H,(20036H20036H)=0050H =0050H 執(zhí)行指執(zhí)行指令:令:ADD 6BXADD 6BX,AXAX 執(zhí)行后:執(zhí)行后:(AXAX)=?=?,(,(BXBX)=?=?,(DSDS)=?=?,(,(20036H20036H)=?=? 圖形表示如下:圖形表示如下: 執(zhí)行:(執(zhí)行:(20036H)+(AX) 200
40、36H執(zhí)行后:(執(zhí)行后:(AX)=0040H,(,(BX)=0030H,(,(DS)=2000H,(20036H)=0090H。返回本節(jié)返回本節(jié)2.1.4 基址加變址尋址基址加變址尋址 基址加變址尋址方式中,操作數(shù)的偏移基址加變址尋址方式中,操作數(shù)的偏移地址地址EAEA是指令中基址寄存器內(nèi)容、變址是指令中基址寄存器內(nèi)容、變址寄存器內(nèi)容、位移量三項之和,操作寄存器內(nèi)容、位移量三項之和,操作數(shù)在存儲器中。數(shù)在存儲器中。 匯編格式:匯編格式:X BR+IRX BR+IR 功能:操作數(shù)存放在存儲器,功能:操作數(shù)存放在存儲器,BRBR的內(nèi)容的內(nèi)容加加IRIR的內(nèi)容加位移量的內(nèi)容加位移量X X是操作數(shù)的偏
41、移地是操作數(shù)的偏移地址址EAEA。 圖形表示:圖形表示: 操作數(shù)偏移地址操作數(shù)偏移地址EAEA計算方法如下計算方法如下返回本節(jié)返回本節(jié)2.1.5 立即尋址立即尋址 立即尋址方式中,指令操作碼和操作數(shù)立即尋址方式中,指令操作碼和操作數(shù)都在存儲器代碼段中。都在存儲器代碼段中。 匯編格式:匯編格式:n n(n n為立即操作數(shù),是用為立即操作數(shù),是用8 8位或位或1616位二進制補碼表示的有符號數(shù))位二進制補碼表示的有符號數(shù)) 功能:操作數(shù)存放在存儲器,指令下一功能:操作數(shù)存放在存儲器,指令下一單元的內(nèi)容為立即操作數(shù)單元的內(nèi)容為立即操作數(shù)n n。 圖形表示:圖形表示: 【例【例2.52.5】 【例【例
42、2.52.5】MOV AXMOV AX, 10 10 執(zhí)行后(執(zhí)行后(AXAX)= =? 該例中源操作數(shù)為立即尋址方式,立即數(shù)為該例中源操作數(shù)為立即尋址方式,立即數(shù)為1010,存放在指令的下一單元。存放在指令的下一單元。 圖形表示:圖形表示: 執(zhí)行:執(zhí)行:1010AXAX 執(zhí)行后:執(zhí)行后:(AXAX)=000AH=000AH 返回本節(jié)返回本節(jié)2.1.6 直接尋址直接尋址 匯編格式:含有變量的地址表達式。匯編格式:含有變量的地址表達式。 段寄存器名:段寄存器名: EA EA 。 功能:指令下一字單元的內(nèi)容是操作數(shù)的功能:指令下一字單元的內(nèi)容是操作數(shù)的偏移地址偏移地址EAEA。 圖形表示:圖形表示
43、:【例【例2.62.6】 【例【例2.62.6】寄存器和存儲器內(nèi)容為】寄存器和存儲器內(nèi)容為:(AXAX)=1212H=1212H,BUFBUF為數(shù)據(jù)段定義的變量,其偏移地址是為數(shù)據(jù)段定義的變量,其偏移地址是20002000HH,(DSDS)=3000H=3000H,(,(32000H32000H)=4545H=4545H。執(zhí)行指令執(zhí)行指令:MOV AX MOV AX ,BUFBUF執(zhí)行后:(執(zhí)行后:(AXAX)=?=?圖形表示:圖形表示:執(zhí)行:(執(zhí)行:(3200032000HH)AXAX執(zhí)行后:(執(zhí)行后:(AXAX)=4545H=4545H返回本節(jié)返回本節(jié)2.1.7 跨段問題跨段問題 按前述規(guī)
44、定:若選用按前述規(guī)定:若選用BPBP作間址基址寄存器、變址寄存作間址基址寄存器、變址寄存器或基址寄存器,則操作數(shù)在堆棧段,操作數(shù)的物理器或基址寄存器,則操作數(shù)在堆棧段,操作數(shù)的物理地址地址PAPA由堆棧段寄存器由堆棧段寄存器SSSS的內(nèi)容左移的內(nèi)容左移4 4位與偏移地址位與偏移地址EAEA相加后形成;否則,操作數(shù)在數(shù)據(jù)段,操作數(shù)的物理相加后形成;否則,操作數(shù)在數(shù)據(jù)段,操作數(shù)的物理地址地址PAPA由數(shù)據(jù)段寄存器由數(shù)據(jù)段寄存器DSDS的內(nèi)容左移的內(nèi)容左移4 4位與偏移位與偏移EAEA相加相加后形成。該規(guī)定為系統(tǒng)默認狀態(tài)。當要否定默認狀態(tài),后形成。該規(guī)定為系統(tǒng)默認狀態(tài)。當要否定默認狀態(tài),到非約定段尋
45、找操作數(shù)時,必須用跨段前綴指明操作到非約定段尋找操作數(shù)時,必須用跨段前綴指明操作數(shù)的段寄存器名。數(shù)的段寄存器名。 匯編格式:段寄存器名:操作數(shù)地址。匯編格式:段寄存器名:操作數(shù)地址。 功能:段寄存器名指明操作數(shù)屬哪個段。功能:段寄存器名指明操作數(shù)屬哪個段。 【例【例2.72.7】跨段前綴示例?!靠缍吻熬Y示例。 MOVMOVAXAX,DSDS:BP BP MOVMOVCXCX,SSSS:SI SI 該例中,該例中,DSDS:,:,SSSS:均為跨段前綴,此均為跨段前綴,此時默認狀態(tài)無效,操作數(shù)的物理地址時默認狀態(tài)無效,操作數(shù)的物理地址PAPA由段寄存器內(nèi)容左移由段寄存器內(nèi)容左移4 4位加偏移位加
46、偏移EAEA形成。形成。上述上述2 2條指令的源操作數(shù)物理地址分別為:條指令的源操作數(shù)物理地址分別為: PA1 =PA1 =(DSDS)左移左移4 4位位+BPBP PA2 =PA2 =(SSSS)左移左移4 4位位+SISI返回本節(jié)返回本節(jié)2.2 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令 2.2.1 2.2.1 通用數(shù)據(jù)傳送指令通用數(shù)據(jù)傳送指令 2.2.2 2.2.2 堆棧操作指令堆棧操作指令 2.2.3 2.2.3 標志寄存器傳送指標志寄存器傳送指令令 2.2.4 2.2.4 地址傳送指令地址傳送指令 2.2.5 2.2.5 輸入輸出指令輸入輸出指令返回本章首頁返回本章首頁2.2.1 2.2.1 通用
47、數(shù)據(jù)傳送指令通用數(shù)據(jù)傳送指令 1 1傳送指令傳送指令MOVMOV 2 2數(shù)據(jù)交換指令數(shù)據(jù)交換指令XCHGXCHG 3 3查表轉(zhuǎn)換指令查表轉(zhuǎn)換指令 XLATXLAT 1 1傳送指令傳送指令MOVMOV 語句格式:語句格式:MOV OPDMOV OPD,OPSOPS 功能:將源操作數(shù)傳送入目的地功能:將源操作數(shù)傳送入目的地址,源地址內(nèi)容不變。即(址,源地址內(nèi)容不變。即(OPSOPS)OPDOPD。 下圖下圖2.12.1描述了描述了MOVMOV指令在傳送數(shù)指令在傳送數(shù)據(jù)時允許傳送的路徑及類型。據(jù)時允許傳送的路徑及類型。圖圖2.1 MOV指令所允許的數(shù)據(jù)傳送路徑及類型指令所允許的數(shù)據(jù)傳送路徑及類型【例
48、【例2.82.8】存儲器與寄存器間數(shù)據(jù)傳送。存儲器與寄存器間數(shù)據(jù)傳送。MOV AXMOV AX,BUF BUF ;BUFBUF是變量,源操作數(shù)為直接尋是變量,源操作數(shù)為直接尋址址MOV BHMOV BH,DIDI ;源操作數(shù)為寄存器間接尋址源操作數(shù)為寄存器間接尋址MOV DIMOV DI,ESES:3SI 3SI ;源操作數(shù)為變址尋址,使用跨段源操作數(shù)為變址尋址,使用跨段前綴前綴MOV BPMOV BP,3BX+SI3BX+SI;源操作數(shù)為基址加變址尋址源操作數(shù)為基址加變址尋址MOV BUFAMOV BUFA,DLDL ;BUFABUFA是一字節(jié)變量是一字節(jié)變量MOV BPMOV BP,AXA
49、X;使用使用SSSS段寄存器段寄存器MOV DSMOV DS:BPBP,DLDL;使用跨段前綴使用跨段前綴MOV BUFMOV BUF,DSDS;BUFBUF是個字變量是個字變量MOV ES MOV ES ,BUFBUF2 2數(shù)據(jù)交換指令數(shù)據(jù)交換指令XCHGXCHG語句格式:語句格式:XCHG OPDXCHG OPD,OPSOPS功能:將源地址與目的地址中的內(nèi)容互換。即(功能:將源地址與目的地址中的內(nèi)容互換。即(OPDOPD)OPSOPS,(,(OPSOPS)OPDOPD?!纠?.92.9】寄存器與存儲器之間數(shù)據(jù)交換寄存器與存儲器之間數(shù)據(jù)交換。MOVMOVAXAX,5678H5678H;(;
50、(AXAX)=5678H=5678HMOVMOVBXBX,0FFFFH0FFFFH ;(;(BXBX)=0FFFFH=0FFFFHXCHGXCHGAXAX,BXBX;(;(AXAX)=0FFFFH =0FFFFH ,(,( BX BX)=5678H=5678H3 3查表轉(zhuǎn)換指令查表轉(zhuǎn)換指令 XLAXLA 語句格式:語句格式:XLAT OPSXLAT OPS或或XLATXLAT 功能:將(功能:將(BXBX)為首址(為首址(ALAL)為為位移量的字節(jié)存儲單元中的數(shù)據(jù)位移量的字節(jié)存儲單元中的數(shù)據(jù)送送ALAL寄存器。寄存器。即(即( BX+ALBX+AL)ALAL。返回本節(jié)返回本節(jié)2.2.2 2.2
51、.2 堆棧操作指令堆棧操作指令 1 1進棧指令進棧指令PUSHPUSH 2 2出棧指令出棧指令POPPOP1 1進棧指令進棧指令PUSHPUSH 語句格式:語句格式: PUSH OPSPUSH OPS 功能:將寄存器、段寄存器或存儲功能:將寄存器、段寄存器或存儲器中的一個字數(shù)據(jù)壓入堆棧,堆棧器中的一個字數(shù)據(jù)壓入堆棧,堆棧指針減指針減2 2。 即:(即:(SPSP)SPSP(OPSOPS)158SP158SP (SPSP)SPSP(OPSOPS)70SP70SP2 2出棧指令出棧指令POPPOP 語句格式:語句格式: POP OPDPOP OPD 功能:功能: 將棧頂元素彈出送至某一寄存器、段寄
52、存將棧頂元素彈出送至某一寄存器、段寄存器(除器(除CSCS外)或存儲器,堆棧指針加外)或存儲器,堆棧指針加2 2。 從從POPPOP指令功能可看出,該指令為指令功能可看出,該指令為PUSHPUSH指令的逆過指令的逆過程。程。 即:(即:( SPSP)(OPDOPD)7070(SPSP)+ +SP SP (SPSP)(OPDOPD)158158(SPSP)+ +SPSP返回本節(jié)返回本節(jié)2.2.3 2.2.3 標志寄存器傳送指令標志寄存器傳送指令 1 1標志送標志送AHAH指令指令LAHFLAHF 2 2AHAH送標志指令送標志指令SAHFSAHF 3 3標志寄存器進棧指令標志寄存器進棧指令PUS
53、HFPUSHF 4 4標志寄存器出棧指令標志寄存器出棧指令POPFPOPF1 1標志送標志送AHAH指令指令LAHFLAHF 語句格式:語句格式:LAHFLAHF 功能:將標志寄存器的低功能:將標志寄存器的低8 8位送入位送入AHAH寄存器。寄存器。 即(即(FLAGSFLAGS)7-0AH7-0AH。該指令的執(zhí)行該指令的執(zhí)行對標志位無影響。對標志位無影響。 【例【例2.132.13】標志寄存器傳送?!繕酥炯拇嫫鱾魉?。 執(zhí)行前:(執(zhí)行前:(FLAGSFLAGS)=0485H=0485H,(,(AXAX)=0FFFFH=0FFFFH 執(zhí)行指令:執(zhí)行指令:LAHFLAHF2 2AHAH送標志指令送
54、標志指令SAHFSAHF 語句格式:語句格式:SAHFSAHF 功能:將功能:將AHAH的內(nèi)容送入標志寄存器的低的內(nèi)容送入標志寄存器的低8 8位,高位,高8 8位不變。位不變。即(即(AHAH) FLAGS7- FLAGS7-0.0.。 從該指令功能可看出,從該指令功能可看出,SAHFSAHF為為LAHFLAHF的逆的逆過程。過程。 3 3標志寄存器進棧指令標志寄存器進棧指令PUSHFPUSHF 語句格式:語句格式:PUSHFPUSHF 功能:將標志寄存器的內(nèi)容壓入功能:將標志寄存器的內(nèi)容壓入堆 棧 。堆 棧 。 即即 ( F L A G SF L A G S ) (SPSP)。)。4 4標志
55、寄存器出棧指令標志寄存器出棧指令POPFPOPF 功能:功能: 將棧頂內(nèi)容彈出送入標志寄存器中。即將棧頂內(nèi)容彈出送入標志寄存器中。即(SPSP)FLAGSFLAGS。 POPFPOPF指令與指令與PUSHFPUSHF指令互為逆過程。指令互為逆過程。 【例【例2.142.14】將標志寄存器的單步標志將標志寄存器的單步標志TFTF置位。置位。 PUSHFPUSHF;(;(FLSGSFLSGS)(SPSP) POP AXPOP AX;(;(SPSP)AXAX OR AXOR AX, 0100H 0100H;設置設置D8=TF=1D8=TF=1 PUSH AXPUSH AX;(;(AXAX)(SPSP
56、) POPFPOPF;(;(SPSP)FLAGSFLAGS,即(即(AXAX)FLAGSFLAGS返回本節(jié)返回本節(jié)2.2.4 2.2.4 地址傳送指令地址傳送指令 1 1傳送偏移地址指令傳送偏移地址指令 LEALEA 2 2傳送偏移地址及數(shù)據(jù)段首址指令傳送偏移地址及數(shù)據(jù)段首址指令LDSLDS 3 3傳送偏移地址及附加數(shù)據(jù)段指令傳送偏移地址及附加數(shù)據(jù)段指令LESLES1 1傳送偏移地址指令傳送偏移地址指令 LEALEA 語句格式:語句格式: LEA OPDLEA OPD,OPSOPS 功能:主存按源地址的尋址方式計算偏功能:主存按源地址的尋址方式計算偏移地址,將偏移地址送入指定寄存器。移地址,將
57、偏移地址送入指定寄存器。 【例【例2.152.15】主存偏移地址的獲取。主存偏移地址的獲取。 MOV BXMOV BX,0100H0100H;(;(BXBX)=0100H=0100H MOV SIMOV SI, 0210H 0210H;(;(SISI) =0210H =0210H LEA BXLEA BX,1234BX+SI1234BX+SI ; (BXBX)=1544H=1544H2 2傳送偏移地址及數(shù)據(jù)段首址指令傳送偏移地址及數(shù)據(jù)段首址指令LDSLDS 語句格式:語句格式:LDS OPDLDS OPD,OPSOPS 功能:將主存中指定字單元數(shù)據(jù)功能:將主存中指定字單元數(shù)據(jù)送入指定存儲器,下
58、一字單元數(shù)送入指定存儲器,下一字單元數(shù)據(jù)送據(jù)送DSDS寄存器。寄存器。3 3傳送偏移地址及附加數(shù)據(jù)段指令傳送偏移地址及附加數(shù)據(jù)段指令LESLES 語句格式:語句格式:LES OPDLES OPD,OPSOPS 功能:將主存某字單元內(nèi)容送指定寄功能:將主存某字單元內(nèi)容送指定寄存器。即(存器。即(OPSOPS)OPDOPD,(,(OPS+2OPS+2)ESES。返回本節(jié)返回本節(jié)2.2.5 2.2.5 輸入輸出指令輸入輸出指令 1 1輸入指令輸入指令ININ 2 2輸出指令輸出指令OUTOUT1 1輸入指令輸入指令ININ 輸入指令用來從指定的外設寄存器取信息輸入指令用來從指定的外設寄存器取信息送入
59、累加器。它有四種形式:送入累加器。它有四種形式: (1 1)語句格式:)語句格式:ININALAL,PORT PORT 功能:(功能:(PORTPORT)ALAL (2 2)語句格式:語句格式:ININAXAX,PORTPORT 功能:(功能:(PORTPORT)AXAX (3 3)語句格式:語句格式:ININALAL,DXDX 功能:(功能:( DXDX)ALAL (4 4)語句格式:語句格式:ININAXAX,DXDX 功能:(功能:( DXDX)ALAL2 2輸出指令輸出指令OUTOUT輸出指令用來把累加器的內(nèi)容送往指定的外輸出指令用來把累加器的內(nèi)容送往指定的外設存儲器,它有四種形式:設
60、存儲器,它有四種形式:(1 1)語句格式:)語句格式:OUTOUTPORTPORT,AL AL 功能:(功能:(ALAL)PORTPORT(2 2)語句格式:語句格式:OUTOUTPORTPORT,AX AX 功能:(功能:(AXAX)PORTPORT(3 3)語句格式:語句格式:OUTOUTDXDX,AL AL 功能:(功能:(ALAL)DXDX(4 4)語句格式:語句格式:OUTOUTDXDX,AX AX 功能:(功能:(AXAX)DXDX返回本節(jié)返回本節(jié)2.3 算術運算類指令算術運算類指令 2.3.1 2.3.1 加法指令加法指令 2.3.2 2.3.2 減運算指令減運算指令 2.3.3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度數(shù)據(jù)中心安全生產(chǎn)與環(huán)境保護服務合同3篇
- 二手車買賣協(xié)議范本:2024年專業(yè)版版B版
- 二手房經(jīng)紀服務規(guī)范化合同稿
- 二零二五版礦山工程地質(zhì)勘探與評估承包合同3篇
- 二零二五年度高空搬運作業(yè)安全免責協(xié)議書3篇
- 二零二五年藝術畫廊開業(yè)慶典藝術品展覽合同3篇
- 2024法律咨詢服務委托合同
- 2024版商業(yè)園區(qū)物業(yè)管理合同協(xié)議書范文
- 西安汽車職業(yè)大學《港澳基本法》2023-2024學年第一學期期末試卷
- 2024牙科醫(yī)療廢物處理服務合同
- 軟件項目應急措施及方案
- 2025河北邯鄲經(jīng)開國控資產(chǎn)運營管理限公司招聘專業(yè)技術人才5名高頻重點提升(共500題)附帶答案詳解
- 中考英語688高頻詞大綱詞頻表
- 九年級初三中考物理綜合復習測試卷3套(含答案)
- 水中鋼管樁施工方案
- 上交所期權投資者綜合試卷考試及答案
- 超市日常工作檢查表
- 電纜熱穩(wěn)定校驗計算書
- 傳熱學-第一章
- 管理制度評價表(填寫模板)
- 工地設計代表服務記錄
評論
0/150
提交評論