微機(jī)原理及接口技術(shù) 第3章 第1節(jié) 課件_第1頁(yè)
微機(jī)原理及接口技術(shù) 第3章 第1節(jié) 課件_第2頁(yè)
微機(jī)原理及接口技術(shù) 第3章 第1節(jié) 課件_第3頁(yè)
微機(jī)原理及接口技術(shù) 第3章 第1節(jié) 課件_第4頁(yè)
微機(jī)原理及接口技術(shù) 第3章 第1節(jié) 課件_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1第3章 8086/8088指令系統(tǒng)mov ax,12hcall displayJmp 1234h2主要內(nèi)容:主要內(nèi)容:l指令系統(tǒng)的一般概念l對(duì)操作數(shù)的尋址方式l六大類指令的操作原理: 操作碼的含義操作碼的含義 指令對(duì)操作數(shù)的要求指令對(duì)操作數(shù)的要求 指令執(zhí)行的結(jié)果指令執(zhí)行的結(jié)果33.1 3.1 概述概述指令指令控制計(jì)算機(jī)完成指定操作的命令控制計(jì)算機(jī)完成指定操作的命令機(jī)器指令機(jī)器指令指令的二進(jìn)制代碼形式。例如:指令的二進(jìn)制代碼形式。例如:CD21H匯編指令匯編指令助記符形式的指令。例如:助記符形式的指令。例如:INT 21H指令系統(tǒng)指令系統(tǒng)CPU所有指令及其使用規(guī)則的集合所有指令及其使用規(guī)則的集

2、合8088/8086指令系統(tǒng)指令系統(tǒng):(1)指令向后兼容(指令向后兼容(x86系列)系列)(2)應(yīng)用廣泛)應(yīng)用廣泛,資料易于尋找資料易于尋找4指令指令按功能分為六大類按功能分為六大類(9292種)種)(1)數(shù)據(jù)傳送類;)數(shù)據(jù)傳送類;(2)算術(shù)運(yùn)算類;)算術(shù)運(yùn)算類;(3)邏輯運(yùn)算和移位;)邏輯運(yùn)算和移位;(4)串操作;)串操作;(5)控制轉(zhuǎn)移類;)控制轉(zhuǎn)移類;(6)處理器控制。)處理器控制。53.1.1 指令的基本構(gòu)成指令的基本構(gòu)成說(shuō)明要執(zhí)行的說(shuō)明要執(zhí)行的是什么操作是什么操作操作對(duì)象,可以操作對(duì)象,可以有有0個(gè)、個(gè)、1個(gè)或個(gè)或2個(gè)個(gè)目的目的源源6指令舉例:ADD AX,SI+6MOV AX ,

3、BX操作碼 操作數(shù)INC BXHLT7部分部分8088常用指令常用指令指令類型指令類型助記符助記符數(shù)據(jù)傳送數(shù)據(jù)傳送MOV,PUSH/POP,XCHG等地址傳送LEA,LDS,LES輸入輸出IN,OUT算術(shù)運(yùn)算加法ADD,ADC,INC減法SUB,SBB,DEC,NEG,CMP乘/除法MUL,IMUL,DIV,IDIV邏輯AND,OR,NOT,XOR,TEST移位SHL/SHR/SAR,ROL/ROR,RCL/RCR串操作MOVS,CMPS,SCAS,LODS,STOS控制轉(zhuǎn)移JMP,JXX,LOOP,CALL/RET,INT/IRET88088/8086的操作數(shù)分為的操作數(shù)分為3類類1 1、立

4、即數(shù)(常數(shù))立即數(shù)(常數(shù))取值范圍如下表:8位16位無(wú)符號(hào)數(shù)00H-FFH(0-255)0000H-FFFFH(0-65535)帶符號(hào)數(shù)80H-7FH(-128127)8000H-7FFFH(-3276832767)MOV AX,0FA00H;正確正確MOV 8000H,DX;錯(cuò)誤錯(cuò)誤92 2、寄存器操作數(shù)寄存器操作數(shù)放在放在8個(gè)個(gè)通用寄存器通用寄存器或或4個(gè)個(gè)段寄存器段寄存器中的操作數(shù)中的操作數(shù)1 6 位位A XA HA L1 6 位位B XB HB L1 6 位位C XC HC L1 6 位位D XD HD L10只能存放字操作數(shù)只能存放字操作數(shù)段寄存器存放段寄存器存放當(dāng)前操作數(shù)的當(dāng)前操作

5、數(shù)的段基地址段基地址不允許將立即數(shù)傳送到段寄存器不允許將立即數(shù)傳送到段寄存器SIDIBPSPCSDSESSS113 3、存儲(chǔ)器操作數(shù)存儲(chǔ)器操作數(shù)存儲(chǔ)器操作數(shù)存儲(chǔ)器操作數(shù)字節(jié)字節(jié)字字雙字雙字124類型類型 存儲(chǔ)單元個(gè)數(shù)存儲(chǔ)單元個(gè)數(shù)一般一般不允許不允許兩個(gè)操作數(shù)同時(shí)為存儲(chǔ)器操作數(shù)兩個(gè)操作數(shù)同時(shí)為存儲(chǔ)器操作數(shù)12存儲(chǔ)單元的存儲(chǔ)單元的物理地址物理地址 = 段基地址段基地址 + 偏移地址偏移地址若指令中沒(méi)有指明所涉及的段寄存器,CPU就采用默認(rèn)的段寄存器來(lái)確定操作數(shù)所在的段。表表3.3 段寄存器使用的一些基本約定段寄存器使用的一些基本約定存儲(chǔ)器操作數(shù)的偏移地址(也稱有效地址)可以通過(guò)存儲(chǔ)器操作數(shù)的偏移地

6、址(也稱有效地址)可以通過(guò)不同的尋址方式由指令給出。不同的尋址方式由指令給出。例如,若例如,若(BX)=2000H, (SI)=0A00H, (DI)=2A00H,則以下指令,則以下指令的結(jié)果是一樣的:的結(jié)果是一樣的:MOV AL, 2A00HMOV AL, BX+0A00HMOV AL, BXSIMOV AL, DI13一條指令的執(zhí)行時(shí)間一條指令的執(zhí)行時(shí)間=3.1.2 指令的執(zhí)行時(shí)間指令的執(zhí)行時(shí)間取指令取指令取操作數(shù)取操作數(shù)執(zhí)行指令執(zhí)行指令傳送結(jié)果傳送結(jié)果單位用時(shí)鐘周期數(shù)表示單位用時(shí)鐘周期數(shù)表示表表3.4 3.4 常用指令執(zhí)行時(shí)間常用指令執(zhí)行時(shí)間結(jié)論:結(jié)論: 1)盡量使用寄存器作為操作數(shù))盡

7、量使用寄存器作為操作數(shù) 2)若有可能,用移位代替乘除法)若有可能,用移位代替乘除法 3)盡量使用簡(jiǎn)單的尋址方式)盡量使用簡(jiǎn)單的尋址方式14尋址方式尋址方式尋找操作數(shù)的方法尋找操作數(shù)的方法 尋找操作數(shù)的地址(一般指源操作數(shù))尋找要執(zhí)行的下一條指令的地址在8086指令系統(tǒng)中,說(shuō)明操作數(shù)所在地址的尋址方式可分為8種: 立即尋址 寄存器相對(duì)尋址 直接尋址 基址-變址尋址 寄存器尋址 相對(duì)的基址-變址尋址 寄存器間接尋址 隱含尋址3.23.2 80868086的尋址方式的尋址方式15l 操作數(shù)操作數(shù)(為一常數(shù)為一常數(shù))直接直接由指令給出由指令給出 (此操作數(shù)稱為立即數(shù)此操作數(shù)稱為立即數(shù))l 立即尋址只能

8、用于源操作數(shù)立即尋址只能用于源操作數(shù)l 例:例: MOV AX, 1C8FH MOV BYTE PTR2A00H, 8FH 錯(cuò)誤例:錯(cuò)誤例: MOV 2A00H, AX ; 錯(cuò)誤!錯(cuò)誤! 3.2.1 立即尋址立即尋址16立即數(shù)立即數(shù)操作碼操作碼低低8位位高高8位位存儲(chǔ)器存儲(chǔ)器MOV操作碼操作碼02H31HAHAL代碼段代碼段立即尋址指令在存立即尋址指令在存儲(chǔ)器中的存放形式儲(chǔ)器中的存放形式AX指令操作例:指令操作例:MOV AX,3102H ; AX 3102H 執(zhí)行后,執(zhí)行后,(AH) = 31H,(AL) = 02H173.2.2 直接尋址直接尋址l 指令指令中直接給出操作數(shù)的中直接給出操作

9、數(shù)的16位偏移地址位偏移地址 偏移地址也稱為有效地址偏移地址也稱為有效地址(EA, Effective Address)l 默認(rèn)的段寄存器為默認(rèn)的段寄存器為DS,但也可以顯式地指定其他,但也可以顯式地指定其他段寄存器段寄存器稱為段超越前綴稱為段超越前綴l 偏移地址也可用符號(hào)地址來(lái)表示,如偏移地址也可用符號(hào)地址來(lái)表示,如ADDR、VARl 例:例: MOV AX , 2A00H; MOV DX , ES: 2A00H; MOV SI , TABLE_PTR;18指令操作例:指令操作例:MOV AX,3102H AL (3102H) , AH (3103H)如果(DS)=2000H, (23102

10、H) = CDH, (23103H) = ABH則操作數(shù)的物理地址為: 20000H+3102H = 23102H指令執(zhí)行后:(AX) = ABCDHMOV操作碼操作碼02H31HAHAL23102HCDHABH存儲(chǔ)器存儲(chǔ)器代碼段數(shù)據(jù)段.193.2.3 寄存器尋址寄存器尋址l 操作數(shù)放在某個(gè)寄存器中操作數(shù)放在某個(gè)寄存器中l(wèi) 源操作數(shù)與目的操作數(shù)字長(zhǎng)要相同源操作數(shù)與目的操作數(shù)字長(zhǎng)要相同l 寄存器尋址與段地址無(wú)關(guān)寄存器尋址與段地址無(wú)關(guān)l 例:例: MOV AX, BX MOV 3F00H, AX MOV CL, AL 錯(cuò)誤例:錯(cuò)誤例: MOV AX, BL ; 字長(zhǎng)不同字長(zhǎng)不同 MOV ES: A

11、X, DX ; 寄存器與段無(wú)關(guān)寄存器與段無(wú)關(guān)20AXSI2233H2233H指令操作例:指令操作例:MOV SI,AX ; SI (AX) 指令執(zhí)行前:(AX)=2233H 指令執(zhí)行后:(AX)=2233H,(SI)=2233H213.2.4 寄存器間接尋址寄存器間接尋址l 操作數(shù)操作數(shù)的的偏移地址偏移地址( (有效地址有效地址EA) )放在放在寄存器寄存器中中l(wèi) 只有只有SISI、DIDI、BXBX和和BPBP可作間址寄存器可作間址寄存器 l 例:例: MOV AX, BX MOV CL, CS:DI 錯(cuò)誤例錯(cuò)誤例 : MOV AX, DX MOV CL, AXEA = (BX)(BP)(S

12、I)(DI)22指令操作例:指令操作例:MOV AX,SI若若 (DS)=6000H, (SI)=1200H, (61200H)=44H, (61201H)=33H則指令執(zhí)行后,則指令執(zhí)行后,(AX)=3344H。44H33H60001200DSSI6000061200 61200HAX存儲(chǔ)器存儲(chǔ)器數(shù)據(jù)段 +) 120044H33H233.2.5 寄存器相對(duì)尋址寄存器相對(duì)尋址l EA=間址寄存器的內(nèi)容加上一個(gè)間址寄存器的內(nèi)容加上一個(gè)8/16位的位移量位的位移量寄存器相對(duì)尋址寄存器相對(duì)尋址常用于存取表格或一維數(shù)組中的常用于存取表格或一維數(shù)組中的元素元素把表格的起始地址作為位移量,元素的下把表格的

13、起始地址作為位移量,元素的下標(biāo)值放在間址寄存器中標(biāo)值放在間址寄存器中(或反之)(或反之)EA = (BX)(BP)(SI)(DI)+ 8位16位位移量 24l 例:例: MOV AX, BX+8 MOV CX, TABLESI MOV AX, BP+1000H ; 默認(rèn)段寄存器為默認(rèn)段寄存器為SSl 指令操作例:指令操作例:MOV AX,DATABX 若若(DS)=6000H, (BX)=1000H, DATA=2A00H, (63A00H)=66H, (63A01H)=55H 則物理地址則物理地址 = 60000H + 1000H + 2A00H = 63A00H 指令執(zhí)行后指令執(zhí)行后:(:

14、(AX)=5566H(見(jiàn)下頁(yè)圖示)(見(jiàn)下頁(yè)圖示) 25操作碼操作碼00 偏移量低2A 偏移量高DS 6000BX 1000 + DATA 2A0063A0063A00HAHALAX代碼段數(shù)據(jù)段.66H55HMOV AX,DATABX263.2.6 基址基址-變址尋址變址尋址l 若操作數(shù)的偏移地址:若操作數(shù)的偏移地址: 由由基址寄存器基址寄存器(BX(BX或或BP)BP)給出給出 基址尋址方式基址尋址方式 由由變址寄存器變址寄存器(SI(SI或或DI)DI)給出給出 變址尋址方式變址尋址方式l 由一個(gè)基址寄存器由一個(gè)基址寄存器的內(nèi)容和一個(gè)變址寄存器的內(nèi)容和一個(gè)變址寄存器的內(nèi)的內(nèi)容相加而形成操作數(shù)

15、的偏移地址,容相加而形成操作數(shù)的偏移地址,稱為稱為基址基址-變址尋變址尋址。址。EA = (BX)(BP)+ (SI)(DI)l 同一組內(nèi)的寄存器不能同時(shí)出現(xiàn)同一組內(nèi)的寄存器不能同時(shí)出現(xiàn)。27例:例: MOV AX, BX SI MOV AX, BX+SI MOV AX, DS: BP DI錯(cuò)誤例:錯(cuò)誤例: MOV AX, BX BP MOV AX, DI SI28 83000操作碼操作碼DS 8000BX 2000 + SI 100083000HAHALAX代碼段數(shù)據(jù)段.YYXX指令操作例:指令操作例:MOV AX,BXSI假定:假定:(DS)=8000H, (BX)=2000H, SI=1

16、000H則物理地址則物理地址 = 80000H + 2000H + 1000H = 83000H= 80000H + 2000H + 1000H = 83000H指令執(zhí)行后指令執(zhí)行后: (: (AL)AL)=83000H83000H ( (AH)AH)=83001H83001H 293.2.7 相對(duì)的基址相對(duì)的基址-變址尋址變址尋址l 在在基址基址-變址尋址的基礎(chǔ)上再加上一個(gè)相對(duì)位變址尋址的基礎(chǔ)上再加上一個(gè)相對(duì)位移量移量l 注意事項(xiàng)同注意事項(xiàng)同基址基址-變址尋址變址尋址EA = (BX)(BP)+ (SI)(DI)+ 8位16位位移量 l 例:例:MOV AX,BASE SI BXMOV AX

17、,BX+BASE SIMOV AX,BX+SI+BASEMOV AX,BX BASE SIMOV AX,BX+SI BASE30指令指令操作例:操作例:MOV AX,DATADIBX若(DS)=8000H, (BX)=2000H, (DI)=1000H, DATA=200H則指令執(zhí)行后(AH)=83021H, (AL)=83020H8320083200HAHALAX+ DATA 0200操作碼操作碼代碼段數(shù)據(jù)段.YYXXDS 8000BX 2000 DI 100031使用相對(duì)的基址使用相對(duì)的基址-變址尋址方式可以很方便地訪變址尋址方式可以很方便地訪問(wèn)二維數(shù)組問(wèn)二維數(shù)組?;芳拇嫫骰芳拇嫫鲾?shù)組

18、首地址數(shù)組首地址變址寄存器變址寄存器數(shù)組元素行址數(shù)組元素行址位移量位移量數(shù)組元素列址數(shù)組元素列址(偏移地址)(偏移地址)二維數(shù)組例:內(nèi)存圖示(按行存儲(chǔ))二維數(shù)組例:內(nèi)存圖示(按行存儲(chǔ))(行位移地址)(行位移地址)(行內(nèi)元素下標(biāo))(行內(nèi)元素下標(biāo))1 8 32 5 24 0 9A = 323.2.8 隱含尋址隱含尋址l 指令操作數(shù)是隱含的,在指令中未顯式地指明。指令操作數(shù)是隱含的,在指令中未顯式地指明。l 例:例:MUL BL 指令隱含了被乘數(shù)指令隱含了被乘數(shù)AL及乘積及乘積AXl 類似的指令還有:類似的指令還有:DIV、CBW、MOVS等等(AL)()(BL)AX33小結(jié)小結(jié)l指令由(指令由( )和()和( )構(gòu)成)構(gòu)成l如何取得操作數(shù)如何取得操作數(shù)稱為(稱為( )操作碼操作碼 操作數(shù)操作數(shù)尋址方式尋址方式34l尋址方式可分為尋址方式可分為立即尋址立即尋址直接尋址直接尋址寄存器相對(duì)尋址寄存器相對(duì)尋址寄存器尋址寄存器尋址基址基

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論