版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、微機原理及應用微機原理及應用主講教師主講教師第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-102第三章第三章 8086/8088指令系統(tǒng)指令系統(tǒng)一、一、指令格式與尋址方式指令格式與尋址方式二、二、數據傳送類指令數據傳送類指令三、三、算術運算指令算術運算指令四、四、邏輯運算指令邏輯運算指令五、五、移位指令移位指令 作業(yè)作業(yè)六、六、串操作指令串操作指令七、七、控制轉移指令控制轉移指令八、八、處理器控制指令處理器控制指令 作業(yè)作業(yè)第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-103一、指令格式與尋址方式一、指令格式與尋址方式 指
2、令指令(Instruction)是指示是指示CPU執(zhí)行某種操作的執(zhí)行某種操作的命令;命令; 指令系統(tǒng)指令系統(tǒng)(Instruction Set)是某一是某一CPU所能執(zhí)所能執(zhí)行的全部指令的集合,也稱為指令集;行的全部指令的集合,也稱為指令集; 8086/8088的指令系統(tǒng)完全相同。的指令系統(tǒng)完全相同。 指令是構成指令是構成程序程序的基礎,程序是指令的有序組的基礎,程序是指令的有序組合,合,CPU執(zhí)行程序就是執(zhí)行一條條指令。執(zhí)行程序就是執(zhí)行一條條指令。 1、指令格式指令格式 2、尋址方式尋址方式 第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-104二、數據傳送類
3、指令二、數據傳送類指令1、通用數據傳送指令通用數據傳送指令2、地址傳送指令地址傳送指令3、狀態(tài)標志傳送指令狀態(tài)標志傳送指令第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-105三、算術運算指令三、算術運算指令1、加法運算指令加法運算指令2、減法指令減法指令3、乘法指令乘法指令4、除法指令除法指令 例題例題第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-106四、邏輯運算指令四、邏輯運算指令1、“與與”運算指令運算指令AND2、“或或”運算指令運算指令OR3、“非非”運算指令運算指令NOT4、“異或異或”運算指令運算指令XOR5
4、、測試指令測試指令TEST第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-107五、移位指令五、移位指令1、邏輯移位指令邏輯移位指令2、算術移位指令算術移位指令3、循環(huán)移位指令循環(huán)移位指令4、通過進位位循環(huán)移位指令通過進位位循環(huán)移位指令 例題例題 第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-108七、控制轉移指令七、控制轉移指令1、控制轉移指令的尋址方式控制轉移指令的尋址方式2、無條件轉移指令無條件轉移指令3、條件轉移指令條件轉移指令4、循環(huán)控制指令循環(huán)控制指令5、過程調用和返回指令過程調用和返回指令第三章第三章 8086
5、/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-109八、處理器控制指令八、處理器控制指令1、標志位操作指令標志位操作指令2、與外部事件協(xié)調同步的指令與外部事件協(xié)調同步的指令3、空操作指令空操作指令第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-10101、指令格式、指令格式(1)操作碼操作碼指定指定CPU執(zhí)行某種操作,如傳送、運算執(zhí)行某種操作,如傳送、運算等;等;(2)操作數操作數為參與操作的數據,如寄存器中的數據為參與操作的數據,如寄存器中的數據或內存單元中的數據等?;騼却鎲卧械臄祿?。 包含一個操作數的指令稱為包含一個操作數的指令稱為單操作
6、數指令單操作數指令; 包含兩個操作數的指令稱為包含兩個操作數的指令稱為雙操作數指令雙操作數指令; 在指令執(zhí)行過程中使用的操作數,保持原值不變的稱為在指令執(zhí)行過程中使用的操作數,保持原值不變的稱為源操作數源操作數; 不保留原值而將處理結果存入其中的稱為不保留原值而將處理結果存入其中的稱為目的操作數目的操作數 。 操作碼操作碼 操作數操作數 一條指令通常包括兩部分:一條指令通常包括兩部分:操作碼操作碼和和操作數操作數。格式:格式: 第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-10112、尋址方式(、尋址方式(Addressing Mode) (1)指令尋址方式
7、)指令尋址方式 指令通常是順序存放的,因此只要通過對指令指令通常是順序存放的,因此只要通過對指令指針自動加指針自動加1,便形成下條指令地址;,便形成下條指令地址; 只有當遇到轉移指令或調用指令時,根據轉移只有當遇到轉移指令或調用指令時,根據轉移目標去修改目標去修改IP或或CS。(2)操作數尋址方式)操作數尋址方式 所謂操作數尋址方式,就是尋找指令中所需操所謂操作數尋址方式,就是尋找指令中所需操作數的方法作數的方法。第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-10122、尋址方式(、尋址方式(Addressing Mode) 操作數的來源操作數的來源 包含包
8、含在指令中在指令中,緊跟在操作碼之后,稱為,緊跟在操作碼之后,稱為立即數; 操作數在操作數在CPU的的某個寄存器中某個寄存器中; 操作數在操作數在內存的某單元中內存的某單元中,這時指令中給出,這時指令中給出的是操作數所在單元的地址,或者是產生該地址的的是操作數所在單元的地址,或者是產生該地址的計算方法;計算方法; 操作數在操作數在某某I/O端口中端口中。第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-10132、尋址方式(、尋址方式(Addressing Mode) 由于操作數的不同來源,產生了三大類尋址方由于操作數的不同來源,產生了三大類尋址方式。式。(1)
9、立即數尋址立即數尋址(2)寄存器尋址寄存器尋址(3)內存尋址內存尋址 例題例題第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1014(1)立即(數)尋址立即(數)尋址 當操作數就在指令中時,稱為立即(數)尋址。當操作數就在指令中時,稱為立即(數)尋址。這種操作數稱為這種操作數稱為立即數立即數,8位或位或16位均可。如:位均可。如: MOV AL,12H說明:這條指令的功能就是將立即數說明:這條指令的功能就是將立即數12H傳送到寄存?zhèn)魉偷郊拇嫫髌鰽L中。中。 執(zhí)行完該條指令后,執(zhí)行完該條指令后, (AL)=12H或表示成或表示成 : AL=12H第三章第三章
10、8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1015(1)立即(數)尋址立即(數)尋址 MOV AX,1234H 說明:這條指令的功能就是將立即數說明:這條指令的功能就是將立即數1234H傳送傳送到寄存器到寄存器AX中。中。 執(zhí)行完該條指令后,執(zhí)行完該條指令后, (AX)=1234H或表示成:或表示成: AX=1234H第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1016(1)立即(數)尋址立即(數)尋址 MOV AL,12H 這是一條這是一條雙操作數指令雙操作數指令。其中:。其中:* MOV就是操作碼,就是操作碼,* 立即數立即數
11、12H稱為稱為源操作數源操作數;* 寄存器寄存器AL稱為稱為目的操作數目的操作數。 特特 點點:* 源操作數在執(zhí)行指令后,它的值不會發(fā)生變化;源操作數在執(zhí)行指令后,它的值不會發(fā)生變化;* 立即數不能作為目的操作數。立即數不能作為目的操作數。第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1017(2)寄存器尋址)寄存器尋址(Segment Addressing) 當操作數在寄存器中時為當操作數在寄存器中時為寄存器尋址寄存器尋址(或稱寄(或稱寄存器直接尋址)。如存器直接尋址)。如: MOV AL,12H 說明:目的操作數說明:目的操作數AL即為寄存器尋址。即為寄
12、存器尋址。 MOV AX,BX 說明:這條指令的功能就是將寄存器說明:這條指令的功能就是將寄存器BX的內容的內容傳送到寄存器傳送到寄存器AX中。中。 執(zhí)行完該條指令后,執(zhí)行完該條指令后,AX的內容和的內容和BX的內容一樣,的內容一樣,表示成表示成AX=BX;第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1018(3)內存尋址)內存尋址 (Memory Addressing) 當操作數在內存中時為內存尋址,稱其為內存當操作數在內存中時為內存尋址,稱其為內存操作數。操作數。 注意:一條指令中只允許有一個內存操作數!注意:一條指令中只允許有一個內存操作數!* 內存
13、尋址時,指令中給出的是操作數的內存尋址時,指令中給出的是操作數的有效地址有效地址EA或產生或產生EA的計算方式。的計算方式。* EA即是邏輯地址中的偏移地址即是邏輯地址中的偏移地址。第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1019(3)內存尋址)內存尋址 (Memory Addressing)直接尋址直接尋址寄存器間接尋址寄存器間接尋址相對基址相對基址/變址尋址變址尋址基址變址尋址基址變址尋址相對基址變址尋址相對基址變址尋址第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1020直接尋址直接尋址 EA由指令中直接給出的
14、由指令中直接給出的16位偏移量單獨構成時位偏移量單獨構成時稱為內存尋址中的直接尋址。稱為內存尋址中的直接尋址。* 16位偏移量應帶有方括號。如:位偏移量應帶有方括號。如:(1)MOV AL,1234H 說明:說明: 根據指令根據指令EA=1234H,段地址即取當前數據段段地址即取當前數據段DS(設設DS=2000H), 20位物理地址位物理地址=DS10H+1234H=21234H, 該指令的功能就是將內存單元該指令的功能就是將內存單元(21234H) 的的字節(jié)內容字節(jié)內容傳送到傳送到寄存器寄存器AL中,中,或表示為或表示為: (2000H:1234H)=A1H也即將也即將A1H送送AL,當執(zhí)
15、行完該指令后,當執(zhí)行完該指令后, AL=A1H21234H20000H當前數據段A1H21235H66HFFH內存單元地址內存單元地址 內存單元內容內存單元內容第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1021直接尋址直接尋址(2)MOV AX,1234H 說明:說明: 根據指令根據指令EA=1234H,段地址即取當前數據段段地址即取當前數據段DS, 設設DS=2000H,則則 20位物理地址位物理地址=DS10H+1234H=21234H, 該指令的功能就是將內存單元該指令的功能就是將內存單元(21234H)的的字內容字內容傳送到傳送到寄存器寄存器AX
16、中,也可表示為中,也可表示為: ( 2000H:1234H)=66A1H,也就是將也就是將66A1H送送AX,因此,當執(zhí)行完該指令后因此,當執(zhí)行完該指令后, AX=66A1H21234H20000H當前數據段A1H21235H66HFFH內存單元地址內存單元地址 內存單元內容內存單元內容第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1022寄存器間接尋址寄存器間接尋址 有效地址有效地址EA的內容由寄存器內容給出,稱為內的內容由寄存器內容給出,稱為內存尋址中的寄存器間接尋址。存尋址中的寄存器間接尋址。 * 寄存器應帶有方括號。如寄存器應帶有方括號。如 MOV
17、AL,BX ;EA=BX MOV AX,SI;EA=SI MOV AX,DI;EA=DI *求物理地址的方法與內存尋址中的直接尋址方求物理地址的方法與內存尋址中的直接尋址方法一樣。法一樣。第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1023相對基址相對基址/變址尋址變址尋址EA由指令中給出的基址由指令中給出的基址/變址寄存器和位移量組成。變址寄存器和位移量組成。如:如:MOV AL,BX+0120H ;EA=BX+0120H通式(其中通式(其中D為位移量):為位移量): 注意:求物理地址的方法與內存尋址中的直接注意:求物理地址的方法與內存尋址中的直接尋址方
18、法一樣。注意對應的段!尋址方法一樣。注意對應的段!EA=+DBPDISIBX第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1024基址變址尋址基址變址尋址有效地址有效地址EA由由基址寄存器和和變址寄存器組成。如:組成。如: MOV AL,BX+SI ;EA=BX+SI或或 MOV AL,BXSI ;EA=BX+SI通式:通式:EA=DISI+BPBX 注意:求物理地址的方法與內存尋址中的直接注意:求物理地址的方法與內存尋址中的直接尋址方法一樣。注意對應的段!尋址方法一樣。注意對應的段!第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)202
19、1-7-1025相對基址變址尋址相對基址變址尋址EA由基址寄存器、變址寄存器和位移量組成。如:由基址寄存器、變址寄存器和位移量組成。如: MOV AL,BP+DI+20H ; EA=BP+DI+20H或或MOV AL,20HBPDI ; EA=BP+DI+20H通式:通式:EA=DISIDBPBX+ 注意:求物理地址的方法與內存尋址中的直接注意:求物理地址的方法與內存尋址中的直接尋址方法一樣。注意對應的段!尋址方法一樣。注意對應的段!第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1026例題例題1、指出各指令中源操作數和目的操作數的尋址方、指出各指令中源操作
20、數和目的操作數的尋址方式,并說明操作數的類型(字節(jié)或字數據)。式,并說明操作數的類型(字節(jié)或字數據)。(1)MOV SI,1000H答:答: 源操作數是立即數尋址;目的操作數是寄存器尋址;傳送的是字數據。第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1027例題例題1、指出各指令中源操作數和目的操作數的尋址方式,、指出各指令中源操作數和目的操作數的尋址方式,并說明操作數的類型(字節(jié)或字數據)。并說明操作數的類型(字節(jié)或字數據)。(2)MOV BL,1000H答:答:源操作數是內存尋址中的源操作數是內存尋址中的直接尋址直接尋址EA=1000H;目的操作數是目的
21、操作數是寄存器尋址寄存器尋址;傳送的是傳送的是字節(jié)數據字節(jié)數據。第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1028例題例題1、指出各指令中源操作數和目的操作數的尋址方式,、指出各指令中源操作數和目的操作數的尋址方式,并說明操作數的類型(字節(jié)或字數據)。并說明操作數的類型(字節(jié)或字數據)。(3)MOV BX+0100H,CX答:答:源操作數是源操作數是寄存器尋址寄存器尋址;目的操作數是內存尋址中的目的操作數是內存尋址中的相對基址尋址相對基址尋址,EA=BX+0100H;傳送的是傳送的是字數據字數據。第三章第三章 8086/8088 8086/8088指令系
22、統(tǒng)指令系統(tǒng)2021-7-1029例題例題1、指出各指令中源操作數和目的操作數的尋址方式,、指出各指令中源操作數和目的操作數的尋址方式,并說明操作數的類型(字節(jié)或字數據)。并說明操作數的類型(字節(jié)或字數據)。(4)MOV BYTE PTRBXSI,100答:答:源操作數是源操作數是立即數尋址立即數尋址,十進制數,十進制數100;目的操作數是內存尋址中目的操作數是內存尋址中基址變址尋址基址變址尋址,EA=BX+SI;傳送的是傳送的是字節(jié)數據字節(jié)數據。說明:斜體字是偽指令,表示是字節(jié)說明:斜體字是偽指令,表示是字節(jié)第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-10
23、30例題例題1、指出各指令中源操作數和目的操作數的尋址方、指出各指令中源操作數和目的操作數的尋址方式,并說明操作數的類型(字節(jié)或字數據)。式,并說明操作數的類型(字節(jié)或字數據)。(5)MOV AX,BX+DI+0004H答:答:源操作數是內存尋址中的源操作數是內存尋址中的相對基址變址尋址相對基址變址尋址,EA=BX+DI+0004H;目的操作數是目的操作數是寄存器尋址寄存器尋址;傳送的是傳送的是字數據字數據。第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1031例題例題1、指出各指令中源操作數和目的操作數的尋址方式,、指出各指令中源操作數和目的操作數的尋址方
24、式,并說明操作數的類型(字節(jié)或字數據)。并說明操作數的類型(字節(jié)或字數據)。(6)MOV AX,BX答:答:源操作數是內存尋址中的源操作數是內存尋址中的寄存器間接尋址寄存器間接尋址,EA=BX;目的操作數是目的操作數是寄存器尋址寄存器尋址;傳送的是傳送的是字數據字數據。第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-10321、通用數據傳送指令、通用數據傳送指令(1)MOV指令指令 注意點注意點(2)PUSH和和POP指令指令(3)交換指令)交換指令XCHG(4)換碼指令)換碼指令XLAT第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)20
25、21-7-1033換碼指令換碼指令XLAT指令格式指令格式: XLAT 表首址表首址(表首址可省略)(表首址可省略)指令功能指令功能:將:將AL中的值轉換為內存表格中某一值后,中的值轉換為內存表格中某一值后, 送回送回AL。 這條指令完成一個字節(jié)的查表轉換,指令隱含規(guī)這條指令完成一個字節(jié)的查表轉換,指令隱含規(guī)定用定用BX和和AL,兩者之和為訪問的內存單元。兩者之和為訪問的內存單元。例題例題 第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1034換碼指令換碼指令XLAT 例題:設計一個例題:設計一個09的平方表,通過換碼指令求出對應的平方表,通過換碼指令求出對
26、應的的09的數的平方。的數的平方。解:解: SQUR_TAB DB 0,1,4,9,16,25,36,49,64,81 ;首先在內存中首先在內存中 ;設一個數據表;設一個數據表 ;開始使用開始使用 LEA BX, SQUR_TAB ;將表首偏移地址裝入將表首偏移地址裝入BX MOV AL, 05H ;求求5的平方的平方 XLAT ;換碼,此時換碼,此時AL內的值即為內的值即為25第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-10352、地址傳送指令、地址傳送指令 地址傳送指令主要用來將地址指針裝入有關寄地址傳送指令主要用來將地址指針裝入有關寄存器。存器。(1
27、)裝入有效地址指令裝入有效地址指令(2)裝入數據段寄存器指令裝入數據段寄存器指令(3)裝入附加段寄存器裝入附加段寄存器第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1036(1)裝入有效地址指令)裝入有效地址指令(Load Effective Address) 指令格式指令格式:LEA dst,src 指令功能指令功能:EASRCdst(通用寄存器)通用寄存器) 這條指令用來將源操作數(內存操作數)的有效地址這條指令用來將源操作數(內存操作數)的有效地址EA裝入通用寄存器。裝入通用寄存器。 不影響標志位。不影響標志位。LEA AX,1000H 執(zhí)行指令后,執(zhí)
28、行指令后,AX=1000H;LEA AX,BX 執(zhí)行指令后,執(zhí)行指令后,AX=BX;(注意區(qū)別:注意區(qū)別:MOV AX,BX )LEA BX, data ;data是一個變量,或稱為符號地址是一個變量,或稱為符號地址 執(zhí)行指令后,執(zhí)行指令后,BX等于變量等于變量data的偏移地址。的偏移地址。第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1037(2)裝入數據段寄存器指令)裝入數據段寄存器指令(Load Data Segment Register) 指令格式指令格式:LDS dst,src 指令功能指令功能:src給出的是有效地址,低字送給出的是有效地址,低
29、字送dst ,高字送高字送DS。 這條指令用來將內存中的雙字數據(這條指令用來將內存中的雙字數據(4個字節(jié))個字節(jié))裝入通用寄存器和數據段寄存器裝入通用寄存器和數據段寄存器DS。例:已知例:已知DS=1000H,(,(11500H)=2345H,(11502H)=ABCDH請問,執(zhí)行指令請問,執(zhí)行指令LDS SI,1500H,SI=?DS=?答:答:SI=2345H,DS=ABCDH第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1038(3)裝入附加段寄存器)裝入附加段寄存器(Load Extra Segment Register) 指令格式指令格式:LES
30、 dst,src 指令功能指令功能 :src給出的是有效地址,低字送給出的是有效地址,低字送dst ,高字送高字送ES。 這條指令用來將內存中的雙字數據裝入通用寄這條指令用來將內存中的雙字數據裝入通用寄存器和附加段寄存器存器和附加段寄存器ES。第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1039(1)MOV指令指令 是基本傳送類指令,實現(xiàn)字或字節(jié)數據的復制。是基本傳送類指令,實現(xiàn)字或字節(jié)數據的復制。指令格式:指令格式:MOV dst,src指令功能:將源操作數指令功能:將源操作數src,傳送到目的操作數傳送到目的操作數dst中。中。如:如:MOV AL,1
31、2H 功能:執(zhí)行指令就是將立即數功能:執(zhí)行指令就是將立即數12H傳送到傳送到AL中,中,執(zhí)行完指令后執(zhí)行完指令后AL=12H。第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1040(1)MOV指令指令MOV傳送類指令可以實現(xiàn)六種形式的傳送:傳送類指令可以實現(xiàn)六種形式的傳送:立即數送寄存器;立即數送寄存器;如:如:MOV BX,1122H ;BX=1122H立即數送存儲單元;立即數送存儲單元;如:如: MOV BX,1122H ;將將1122H送到送到EA=BX ;的內存單元中的內存單元中第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)20
32、21-7-1041(1)MOV指令指令通用寄存器之間的傳送;通用寄存器之間的傳送;如:如: MOV BX,AX ;BX=AX MOV AL,AH ;AL=AH通用寄存器和段寄存器之間的傳送;通用寄存器和段寄存器之間的傳送;如:如:MOV DS,AX ;DS=AX MOV AX,ES ;AX=ES第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1042(1)MOV指令指令通用寄存器和存儲單元之間的傳送;通用寄存器和存儲單元之間的傳送;如:如: MOV AL,BX ;將將EA=BX的內存單元的內存單元 ;的內容送寄存器;的內容送寄存器AL MOV 1400H,BX
33、 ;將將BX的內容送的內容送EA=1400 ;的內存單元;的內存單元段寄存器和存儲單元之間的傳送。段寄存器和存儲單元之間的傳送。如:如: MOV 1400H,CS ;將將CS的內容送的內容送EA=1400 ;的內存單元;的內存單元 MOV BX ,DS ;將將DS 的內容的內容 ;送;送EABX的內存單元的內存單元第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1043例題例題設設DS=1000H,SS=2000H,AX=1A2BH,BX=1200H,CX=339AH,BP=1200H,SP=1352H,SI=1354H,(11350H)=0A5H,(1135
34、1H)3CH,(11352H)=0FFH ,(11353H)=26H,(11354H)=52H,(11355H)=0E7H,(126A4H)=9DH,(126A5H)=16H,(21350H)=88H,(21351H)=51H,求以下各指令執(zhí)行后的值。求以下各指令執(zhí)行后的值。(1)MOV AX,1352H AX=?解:解:AX=1352H第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1044例題例題設設DS=1000H,SS=2000H,AX=1A2BH,BX=1200H,CX=339AH,BP=1200H,SP=1352H,SI=1354H,(11350H
35、)=0A5H,(11351H)3CH,(11352H)=0FFH,(11353H)=26H,(11354H)=52H,(11355H)=0E7H,(126A4H)=9DH,(126A5H)=16H,(21350H)=88H,(21351H)=51H,求以下各指令執(zhí)行后的值。求以下各指令執(zhí)行后的值。(2)MOV AX,1352H AX=?解:解:EA=1352H, DS=1000H,該內存單元的物理地址該內存單元的物理地址=DS10H+EA=11352H,所以,所以,AX=26FFH第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1045例題例題設設DS=100
36、0H,SS=2000H,AX=1A2BH,BX=1200H,CX=339AH,BP=1200H,SP=1352H,SI=1354H,(11350H)=0A5H,(11351H)3CH,(11352H)=0FFH,(11353H)=26H,(11354H)=52H,(11355H)=0E7H,(126A4H)=9DH,(126A5H)=16H,(21350H)=88H,(21351H)=51H,求以下各指令執(zhí)行后的值。求以下各指令執(zhí)行后的值。(3)MOV 0150HBX,CH (11350H)=?(?(11351H)=?解:解:因為因為 EA=BX+0150H=1350H,CH=33H,該內存單
37、元的物理地址該內存單元的物理地址=DS10H+1350H=11350H,所以,(所以,(11350H)=33H, (11351H)=3CH第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1046例題例題設設DS=1000H,SS=2000H,AX=1A2BH,BX=1200H,CX=339AH,BP=1200H,SP=1352H,SI=1354H,(11350H)=0A5H,(11351H)3CH,(11352H)=0FFH,(11353H)=26H,(11354H)=52H,(11355H)=0E7H,(126A4H)=9DH,(126A5H)=16H,(2
38、1350H)=88H,(21351H)=51H,求以下各指令執(zhí)行后的值。求以下各指令執(zhí)行后的值。(4)MOV AX,0150HBP AX=?解:解:因為因為 EA=BP+0150H=1350H,該內存單元的物理地址該內存單元的物理地址=SS10H+1350H=21350H所以,所以,AX=5188H第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1047使用使用MOV的的注意點注意點(1)兩個操作數的類型必須一致;)兩個操作數的類型必須一致;(2)兩個操作數不能同時為存儲器操作數兩個操作數不能同時為存儲器操作數;(3)不能用)不能用CS做目的操作數;做目的操作
39、數;(4)不允許用立即數做目的操作數;)不允許用立即數做目的操作數;(5)不允許用立即數直接向段寄存器傳送數據;)不允許用立即數直接向段寄存器傳送數據;(6)不允許在段寄存器之間直接傳送數據;)不允許在段寄存器之間直接傳送數據;傳送指令不影響標志位!傳送指令不影響標志位!第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1048兩個操作數不能同時都是存儲器操作數兩個操作數不能同時都是存儲器操作數 如圖所示,如果想將(如圖所示,如果想將(21233H)的內容的內容傳送到(傳送到(21235H),),必須通過寄存器中轉。必須通過寄存器中轉。 通過兩條指令實現(xiàn):通過兩
40、條指令實現(xiàn): MOV AH,1233H21233H20000H當前數據段當前數據段A1H21235HFFH內存單元地址內存單元地址 內存單元內容內存單元內容21234HAHFFHFFHMOV 1235H, AH第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1049(2)PUSH和和POP指令(堆棧操作指令)指令(堆棧操作指令) 堆棧段是用來保存數據和地址的一個存儲區(qū)。堆棧段是用來保存數據和地址的一個存儲區(qū)。堆棧堆棧段寄存器用段寄存器用SS表示,堆棧段棧頂指針是表示,堆棧段棧頂指針是SP(隱隱含)。含)。 由于堆棧段只有一個出入口,堆棧操作按由于堆棧段只有一個
41、出入口,堆棧操作按先入先入后出后出的方式工作。的方式工作。 入棧指令入棧指令PUSH 出棧指令出棧指令POP不影響標志位!不影響標志位!第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1050入棧指令入棧指令PUSH指令格式指令格式:PUSH src指令功能指令功能:SP2SP(隱含操作)隱含操作) ; 將將字數據字數據src送到送到EA=SP的堆棧段內的堆棧段內;如:如:PUSH AX第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1051入棧指令入棧指令PUSH指令指令PUSH AX的執(zhí)行情況的執(zhí)行情況堆堆棧棧段段低地址低
42、地址高地址高地址SP執(zhí)行執(zhí)行 PUSH AX指令前指令前YYYY.設設 AX3412H設設 SP 1000H堆堆棧棧段段低地址低地址高地址高地址SP1234YYYY執(zhí)行執(zhí)行PUSH AX指令后指令后.SP 0FFEH第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1052出棧指令出棧指令POP指令格式指令格式:POP dst指令功能指令功能:將:將EA=SP的的字字送到目的操作數送到目的操作數dst中,中, SP+2SP(隱含操作)。隱含操作)。如:如:POP BX例題例題第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-105
43、3例題例題設設DS=1000H,SS=2000H,AX=1A2BH,BX=1200H,CX=339AH,BP=1200H,SP=1352H,SI=1354H,(11350H)=0A5H,(11351H)=3CH,(11352H)=0FFH,(11353H)=26H,(11354H)=52H,(11355H)=0E7H,(126A4H)=9DH,(126A5H)=16H,(21352H)=88H,(21353H)=51H,求以下各指令執(zhí)行后的值。求以下各指令執(zhí)行后的值。(1)POP AX AX=?SP=?解:解:出棧指令先傳送字數據,出棧指令先傳送字數據, 因為因為SP=1352H,SS=200
44、0H,該字的物理地址該字的物理地址=SS10H+SP=21352H,所以,所以,AX=5188H, 再修改再修改SP=SP+2=1354H第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1054(3)XCHG指令指令指令格式指令格式:XCHG dst, src指令功能指令功能:dst src,8位、位、16位均可位均可如:如:XCHG AX,BX XCHG CL,BX+DI不影響標志位!不影響標志位!注意注意: 不能使用段寄存器和立即數;不能使用段寄存器和立即數; 不能在兩個存儲單元之間進行。不能在兩個存儲單元之間進行。第三章第三章 8086/8088 808
45、6/8088指令系統(tǒng)指令系統(tǒng)2021-7-10553、狀態(tài)標志傳送指令、狀態(tài)標志傳送指令(1)標志位裝入寄存器標志位裝入寄存器AH指令指令(2)寄存器寄存器AH送標志寄存器指令送標志寄存器指令(3)標志寄存器進棧指令標志寄存器進棧指令(4)標志寄存器出棧指令標志寄存器出棧指令第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1056(1)標志位裝入寄存器)標志位裝入寄存器AH指令指令不影響標志位。不影響標志位。ZFSFCFAFPF指令格式指令格式:LAHF指令功能指令功能:將標志寄存器的低:將標志寄存器的低8位送位送AH。即即第三章第三章 8086/8088 8
46、086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1057(2)寄存器)寄存器AH送標志寄存器指令送標志寄存器指令 指令格式指令格式:SAHF 指令功能指令功能:將寄存器:將寄存器AH的值送標志寄存器的的值送標志寄存器的低字節(jié)低字節(jié)。 即設置即設置SF、ZF、AF、PF和和CF的值。的值。ZFSFCFAFPF第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1058(3)標志寄存器進棧指令)標志寄存器進棧指令指令格式指令格式:PUSHF指令功能指令功能:SP2SP; 將將16位標志寄存器的值入棧;位標志寄存器的值入棧;不影響標志位。不影響標志位。第三章第三章 808
47、6/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1059(4)標志寄存器出棧指令)標志寄存器出棧指令指令格式指令格式:POPF指令功能指令功能:先將:先將EA=SP所指內存的字送標志寄存器;所指內存的字送標志寄存器; SP+2SP。標志位發(fā)生變化標志位發(fā)生變化。第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-10601、加法運算指令、加法運算指令(1)加法指令加法指令ADD(2)帶進位加法指令帶進位加法指令ADC(3)加加1指令指令INC(4)壓縮的壓縮的BCD碼加法調整指令碼加法調整指令DAA(5)非壓縮的非壓縮的BCD碼加法調整指令碼加法調整
48、指令AAA第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-10612、減法指令、減法指令(1)減法指令減法指令SUB(2)帶借位的減法指令帶借位的減法指令SBB(3)減減1指令指令DEC(4)求補指令求補指令NEG(5)比較指令比較指令(6)壓縮壓縮BCD碼減法調整指令碼減法調整指令DAS(7)非壓縮非壓縮BCD碼減法調整指令碼減法調整指令AAS第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-10623、乘法指令、乘法指令(1)無符號數乘法指令無符號數乘法指令MUL(2)帶符號數乘法指令帶符號數乘法指令IMUL(3)非壓縮非壓
49、縮BCD碼乘法調整指令碼乘法調整指令第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-10634、除法指令、除法指令(1)無符號數除法指令無符號數除法指令DIV(2)帶符號數除法指令帶符號數除法指令IDIV(3)字節(jié)擴展指令字節(jié)擴展指令CBW(4)字擴展成雙字指令字擴展成雙字指令CWD(5)非壓縮非壓縮BCD碼除法調整指令碼除法調整指令AAD第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1064(1)加法指令加法指令ADD指令格式:指令格式:ADD dst,src指令功能指令功能: (dst)+(src)(dst) 所有標志位
50、隨運算結果發(fā)生變化。如:所有標志位隨運算結果發(fā)生變化。如: ADD AX,3A5FH;AX+3A5FHAXADD AL,BX;將將EA=BX的內存單元的的內存單元的;內容;內容+ALALADD BX,AX;將將EA=BX的內存單元內容的內存單元內容; +AX 該內存單元該內存單元第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1065(2)帶進位加法指令帶進位加法指令ADC指令格式指令格式:ADC dst,src指令功能指令功能: (dst)+(src)+CF(dst) 所有標志位隨運算結果變化。如:所有標志位隨運算結果變化。如:ADC AX,BX;AX+BX
51、+CFAXADC AL,BX;將將EA=BX的內存單元的的內存單元的;內容;內容+AL+CFALADC BX,AX;將將EA=BX的內存內容的內存內容+AX ; +CF 該內存單元該內存單元例題例題第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1066例例1 設原設原AL=79H,BH=0B3H,求執(zhí)行指令求執(zhí)行指令ADD AL,BH后,后, AL=? BH=? 各個標各個標志位的值志位的值?解:解: 79H= 0111 1001B+) B3H= 1011 0011B0010 1100B1所以,所以,AL=0010 1100B=2CH,BH=0B3HSF=0
52、, ZF=0,AF=0,PF=0,CF=1,OF=0。第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1067例例2求兩個雙字數據相加。假設求兩個雙字數據相加。假設數據數據1在在DX(高字高字)和和AX(低字低字)內,為內,為12345678H,數據數據2在在BX(高字高字)和和CX(低字低字)內,為內,為6789ABCDH。解:解:因為因為8086/80888086/8088的指令只能進行字的指令只能進行字/ /字節(jié)運算,字節(jié)運算, 所以對于雙字必須分兩步進行所以對于雙字必須分兩步進行。第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)20
53、21-7-1068例2求兩個雙字數據相加。求兩個雙字數據相加。數據數據1在在DX(高字高字)和和AX(低字低字)內,為內,為12345678H,數據數據2在在BX(高字高字)和和CX(低字低字)內,為內,為6789ABCDH。解:解:因為因為8086/8088的指令只能進行字的指令只能進行字/字節(jié)運算,字節(jié)運算, 所以對于雙字必須分兩步進行。所以對于雙字必須分兩步進行。第一步,低字和低字相加:第一步,低字和低字相加: ADD AX, CXAX= 5 6 7 8H+) CX= ABCDHAX= 0 2 4 5HCF= 1第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021
54、-7-1069例例2求兩個雙字數據相加。求兩個雙字數據相加。數據數據1在在DX(高字高字)和和AX(低字低字)內,為內,為12345678H,數據數據2在在BX(高字高字)和和CX(低字低字)內,為內,為6789ABCDH。解解:第二步,高字和高字相加,同時考慮低字之和第二步,高字和高字相加,同時考慮低字之和向高字進位:向高字進位:ADC DX, BXDX= 1 2 3 4HBX= 6 7 8 9H+) CF= 1DX= 7 9 B EH CF= 0所以雙字之和是所以雙字之和是79BE 0245H, CF=0第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-10
55、70例例2求兩個雙字數據相加。求兩個雙字數據相加。數據數據1在在DX(高字高字)和和AX(低字低字)內,為內,為12345678H,數據數據2在在BX(高字高字)和和CX(低字低字)內,為內,為6789ABCDH。解:解: 因此,本題要求的雙字相加,由兩條指令完成:因此,本題要求的雙字相加,由兩條指令完成: ADD AX, CX ADC DX, BX第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1071(3)加加1指令指令INC指令格式:指令格式:INC dst指令功能指令功能: (dst)+1(dst) CF不受影響,其他標志位隨運算結果變化。如:不受影響
56、,其他標志位隨運算結果變化。如:INC AX;AX+1AXINC CL;CL+1CLINC BX;將將EA=BX的內存單元內容的內存單元內容; +1 該內存單元該內存單元第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1072(4)壓縮的壓縮的BCD碼加法調整指令碼加法調整指令DAA指令格式指令格式:DAA指令功能指令功能:對:對AL中的中的壓縮壓縮BCD數加法結果數加法結果自動調整,自動調整,分兩種情況進行:分兩種情況進行: 當當AL低低4位位9或或AF=1時,時, AL+06HAL, 1AF; 當當AL的高的高4位位9或或CF=1時,時, AL+60H A
57、L, 1 CF。 例題例題第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1073例題例題已知兩個壓縮已知兩個壓縮BCD碼碼AL=38H和和BL=24H,對其求對其求和。和。解:解: 第一步第一步 ADD AL,BL 38BCD = 0011 1000B +) 24BCD = 0010 0100B0101 1100B (=5CH)62BCD 顯然,執(zhí)行加法指令與實際結果不符合。顯然,執(zhí)行加法指令與實際結果不符合。第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1074例題例題解:第二步解:第二步 DAA ;注意隱含操作,只對注
58、意隱含操作,只對AL進進;行調整;行調整0101 1100B (=5CH,則低則低4位位9) 0110B (=06H)0110 0010B (=62H即為即為62BCD)+) 所以所以,對于壓縮,對于壓縮BCD碼,在進行加法運算后,碼,在進行加法運算后,必須緊跟一條調整指令必須緊跟一條調整指令DAA,以保證計算結果正確。以保證計算結果正確。第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1075例題例題已知兩個壓縮已知兩個壓縮BCD碼碼AL=38H和和BL=24H,對其求和。對其求和。解:解: 因此,對兩個壓縮因此,對兩個壓縮BCD碼進行加法,需要如下碼進行加
59、法,需要如下兩條指令完成:兩條指令完成: ADD AL,BL DAA ;對對AL進行調整進行調整第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1076(5)非壓縮的非壓縮的BCD碼加法調整指令碼加法調整指令AAA 指令格式:指令格式: AAA 指令功能:指令功能: 對對AL中的兩個中的兩個非壓縮非壓縮BCD碼碼加法加法結果進行調整,使之成為正確的結果。結果進行調整,使之成為正確的結果。 對于非壓縮對于非壓縮BCD碼,在進行加法運算后,必碼,在進行加法運算后,必須緊跟一條調整指令須緊跟一條調整指令AAA,以保證運算結果的正以保證運算結果的正確性。確性。第三章第
60、三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1077(1)減法指令減法指令SUB指令格式指令格式:SUB dst, src指令功能指令功能: (dst)(src)(dst)例如:例如:SUB AX,3A5FH ;AX3A5FHAXSUB AL,BX;將將AL (EA=BX)的內存的內存;單元的內容;單元的內容ALSUB BX,AX;將將EA=BX的內存內容的內存內容AX ; 該內存單元該內存單元第三章第三章 8086/8088 8086/8088指令系統(tǒng)指令系統(tǒng)2021-7-1078(2)帶借位的減法指令帶借位的減法指令SBB指令格式指令格式: SBB dst,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版工業(yè)地皮購置與交易全程稅務籌劃合同3篇
- 二零二五年教育培訓機構兼職教師雇傭協(xié)議書3篇
- 蘇州工業(yè)園區(qū)服務外包職業(yè)學院《電液控制工程》2023-2024學年第一學期期末試卷
- 二零二五版生態(tài)環(huán)保型建筑材料銷售合同3篇
- 二零二五年度定制化餐盒包裝解決方案合同3篇
- 2025年度高新技術企業(yè)研發(fā)項目財務擔保合同會計處理細則3篇
- 2024版茶樓活動策劃合同2篇
- 二零二五年服裝店導購員培訓與激勵合同范本3篇
- 山西鐵道職業(yè)技術學院《矯正社會工作》2023-2024學年第一學期期末試卷
- 廈門海洋職業(yè)技術學院《創(chuàng)意表現(xiàn)圖案》2023-2024學年第一學期期末試卷
- 公路工程施工現(xiàn)場安全檢查手冊
- 公司組織架構圖(可編輯模版)
- 1汽輪機跳閘事故演練
- 陜西省銅川市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細
- 禮品(禮金)上交登記臺賬
- 北師大版七年級數學上冊教案(全冊完整版)教學設計含教學反思
- 2023高中物理步步高大一輪 第五章 第1講 萬有引力定律及應用
- 青少年軟件編程(Scratch)練習題及答案
- 浙江省公務員考試面試真題答案及解析精選
- 系統(tǒng)性紅斑狼瘡-第九版內科學
- 全統(tǒng)定額工程量計算規(guī)則1994
評論
0/150
提交評論