




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第3章 8086微處理器的指令系統(tǒng)(1)3.1 指令系統(tǒng)概述l 指令系統(tǒng)是一臺(tái)計(jì)算機(jī)所能(識(shí)別和執(zhí)行)的全部指令的集合。它與(微處理器)有著密切的關(guān)系,不同的微處理器有不同的指令系統(tǒng)。8086CPU包含133條指令l 指令是使計(jì)算機(jī)執(zhí)行某種(特定操作)的二進(jìn)制編碼。指令一般包括兩個(gè)部分:(操作碼域)和(地址域)。填空操作碼域:存放指令的操作碼,即指明該指令應(yīng)由計(jì)算機(jī)完成何種操作。地址域:確定操作數(shù)的值或地址、操作結(jié)果的地址,有的指令的地址域還指出下一條指令的地址。l 機(jī)器指令:計(jì)算機(jī)能(直接識(shí)別)的二進(jìn)制代碼。l 匯編語言:匯編語言是一種符號(hào)語言,用助記符表示操作碼,用符號(hào)或符號(hào)地址表示操作數(shù)
2、或操作數(shù)地址,它與機(jī)器指令是一一對(duì)應(yīng)的l 匯編程序:將匯編語言源程序翻譯成機(jī)器語言(就是一條一條的機(jī)器指令),即目標(biāo)程序。3.2尋址方式l 根據(jù)(指令內(nèi)容)確定(操作數(shù)地址)的過程,稱為尋址。l 根據(jù)尋址方式計(jì)算所得到的地址叫做(有效地址EA),也就是(段內(nèi)偏移地址)。有效地址還需要與相應(yīng)的(段基地址)組合才是20位的(物理地址PA) ,該工作由微處理器來完成。牢記什么是EA?什么是PA?怎么計(jì)算?后面有關(guān)于EA和PA的解釋及計(jì)算方法!l 尋址方式在兩種方式下被涉及:(操作數(shù))的尋址方式和(指令)的尋址方式。如果沒有特別說明,尋址方式是指源操作數(shù)的尋址方式。F操作數(shù)尋址1、隱含尋址(隱含了規(guī)定
3、的操作數(shù))例:DAA指令,只有操作碼,無操作數(shù)。規(guī)定對(duì)AL中的內(nèi)容進(jìn)行壓縮BCD碼轉(zhuǎn)換。2、立即尋址(操作數(shù)(立即數(shù))直接放在指令中,不需訪問存儲(chǔ)器)例:MOV AX ,1234H (若CS=1000H ,IP=100H) 可以進(jìn)行寄存器尋址的寄存器:(16位)AX、BX、CX、DX、SI、DI、SP、BP (8位) AH、AL、BH、BL、CH、CL、DH、DL3、寄存器尋址(操作數(shù)就放在內(nèi)部寄存器中,不需訪問存儲(chǔ)器)例:INC CX ;(CX)(CX)+1MOV AX ,BX ;執(zhí)行后BX內(nèi)容不變4、直接尋址(指令中直接給出操作數(shù)的存放地址)例1:MOV AX ,4000H (DS3000
4、H)例2:MOV ES:1234H,BL (ES4000H)注意:(1)指令中給出的4000H和1234H是操作數(shù)的偏移地址。(2)指令前綴指出段寄存器(例2)。(3)沒有指出段寄存器,則默認(rèn)的段寄存器為DS(例1)。5、寄存器間接尋址(內(nèi)存單元的邏輯偏移地址由寄存器間接給出,只能使用BX、BP、SI、DI)例: MOV AX ,BX (若DS=2000H ,BX=1000H)重要:邏輯段地址使用隱式用法,即(1)DS與BX、SI、DI組成物理地址;(2)SS與BP、SP組成物理地址。IP只能在代碼段中(CS)尋址,SP只能在堆棧段(SS)中尋址。另外,AX、CX、DX一般不能在寄存器間接尋址
5、中使用。例:若DS=0F3EH,SI=2000H,COUNT=0A8H,指令MOV AX,(SI+COUNT)中,源操作數(shù)的有效地址EA為_,其物理地址PA為_。答案:EA=SI+COUNT=2000H+0A8H=20A8HPA=DS*10H + EA = 0F3EH*10H + 20A8H = 0F3E0H+20A8H=11488HMOV AX,COUNTSIMOV AX,SICOUNT 總結(jié):這三種形式,功能是相同的!MOV AX,SI+COUNT6、基址尋址和基址相對(duì)尋址(操作數(shù)地址在基址寄存器BX,BP中稱為基址尋址;若還有位移量,則稱為基址相對(duì)尋址)使用BX,默認(rèn)的段寄存器是DS【例
6、1】 MOV CX ,36HBX 有效地址EA=36H+(BX) 物理地址PA(DS)×10H + EA【例2】 MOV -20BP,AL ;小心了!-20是十進(jìn)制,其十六進(jìn)制塔式是-14H 有效地址EA=(BP)-14H 物理地址PA(SS)×10H+EA而BP,SP的默認(rèn)段寄存器為SS選擇題:指令MOV AX,BX+SI中源操作數(shù)的段地址在 B 中 A.CS B.DS C.ES D.SS課件中,例3.11是不對(duì)的!例3.11 MOV AX,BX+disp 因使用BX,默認(rèn)段寄存器是DS。 EA=BX+disp PA=DS×10H+ EADS7、變址尋址和變址相
7、對(duì)尋址(操作數(shù)地址在變址寄存器SI、DI中稱為變址尋址;若還有位移量,則稱為變址相對(duì)尋址)例3.13 MOV AH,SI+dispEA=(SI)或(DI)+disp PA= ×10H+ EA8、基址變址尋址和基址變址相對(duì)尋址有效地址EA(BX)或(BP)中的基址地址(SI)或(DI)中的變址地址disp有效地址公式:EA=(BX或BP)+(SI或DI)+disp例3.14 MOV AX,BP+DIEASS*10H + BP + DI ;此時(shí)隱含的段寄存器為SSMOV AX,BX+DIEADS*10H + BX + DI ;則隱含的段寄存器為DS(1)BX基地址寄存器、SI源變址寄存器
8、、DI目的變址寄存器與DS數(shù)據(jù)段寄存器組成物理地址(2)BP(基指針寄存器)、SP(堆棧指針寄存器)與SS(堆棧段寄存器)組成物理地址。(3)IP只能在代碼段中(CS)尋址(4)SP只能在堆棧段(SS)中尋址。(5)AX、CX、DX一般不能在寄存器間接尋址中使用。例3.10 MOV AX,BXDI 使用BX,默認(rèn)的段寄存器是DS若(DS)=2100H,(BX)=0158H,(DI)=0002H,(2115AH)=1234H則 EA= BX+DI =0158H+0002H=015AH PA=EA+21000H=2115AH 指令執(zhí)行后,(AX)=1234H例3.11:MOV AX,MASK+BX
9、+SI 使用BX,默認(rèn)的段寄存器是DS 若(DS)=3000H,(BX)=2000H, (SI)=1000H, MASK=0250H (33250H)=34H,(33251H)=12H 則 EA= MASK+BX+SI = 0250H +2000H+1000H=3250H PA= DS*10H + EA=30000H + 3250H = 33250H執(zhí)行該指令后(AX)=1234H 9、I/O端口尋址8086采用I/O端口與存儲(chǔ)器獨(dú)立編址的方式(第2章的內(nèi)容)。8086用20位地址線中的低16位來管理64KB的I/O端口空間,I/O端口的地址空間為0000HFFFFH(因?yàn)?4K)。訪問I/O
10、 端口需要專門指令I(lǐng)N和OUT,通過AX/AL來完成。(1)直接尋址 指令直接給出I/O端口地址,此地址應(yīng)在0255(0-FFH)之間(范圍?。?例如:IN AL,20H ;從端口地址20H讀入一個(gè)字節(jié)(2)間接尋址,寄存器只能用DX 由DX給出I/O端口地址,此方式適用端口地址為065535(0-FFFFH)之間的任意值。(范圍任意) 例如:MOV DX , 3E4HOUT DX , ALIN指令中目的操作數(shù)可為AL或AX;OUT指令中源操作數(shù)可為AL或AX例:分別指出下列指令中的源操作數(shù)和目的操作數(shù)的尋址方式(1)MOV BX, DI(2)MOV DX, 100(3)MOV DI , AL
11、(4)MOV BX+SI , CX(5)MOV DX , SI+106H(6)MOV AX , CX(7)AND DS:BP , AX(8)AND AX , DX尋址方式:1. 立即尋址 MOV AX, 1234H ;1234H是立即數(shù)2. 寄存器尋址 MOV AX, BX ;BX是寄存器3. 直接尋址 MOV AX, 1234H ;1234H是直接地址4. 寄存器間接尋址 MOV AX, BX ;BX是間接地址5. 基址尋址 MOV AX, BX+100H ;BX是基址寄存器6. 變址尋址 MOV AX, SI+100H ;SI是變址寄存器7. 基址加變址尋址 MOV AX, BX+SI+1
12、00H ;BX+SI基+變寄存器l 存儲(chǔ)器操作數(shù)的物理地址PA的計(jì)算:是將段基地址左移四位加上有效地址EA(偏移地址)得到的。至少要記住:l BX,SI,DI配DS段l BP配SS段l 但是段寄存器和有效地址的配對(duì)是有規(guī)定的。執(zhí)行速度:寄存器操作數(shù) > 立即數(shù)操作數(shù)> 存儲(chǔ)器操作數(shù)上面涉及的是操作數(shù)的尋址下面涉及的是指令尋址l 同樣的指令(如MOV)由于尋址方式和操作數(shù)的不同,機(jī)器碼的長度也不同。l 執(zhí)行時(shí)間:指令的指令時(shí)間包括取址、譯碼和執(zhí)行的時(shí)間,跟該指令的機(jī)器碼的長短沒有直接關(guān)系。 指令機(jī)器碼 字節(jié)數(shù) 時(shí)鐘數(shù)MOV AL,15HB0H 15H 2 4MOV AX,BX8BH
13、C3H 2 2指令的起始位置是由代碼段CS決定的,段最大64Kb,沒超出段的范圍就是段內(nèi),超出了就是段間。 段內(nèi)直接尋址l 段內(nèi)尋址(不改變CS, 段內(nèi)間接尋址只改變IP)EA=(IP)+disp 段間直接尋址l 段間尋址 段間間接尋址(即改變CS,又改變IP) 段內(nèi)直接尋址l 段內(nèi)尋址(不改變CS, 段內(nèi)間接尋址只改變IP)EA=(IP)+disp 段間直接尋址l 段間尋址 段間間接尋址(即改變CS,又改變IP)JMP NEAR PTR PROGIA ;段內(nèi)近轉(zhuǎn)移 (IP)(IP)+ PROGIAJMP SHORT QUEST ;段內(nèi)短轉(zhuǎn)移 (IP)(IP)+ QUESTJMP 25H ;段
14、內(nèi)短轉(zhuǎn)移,-128+127 (IP)(IP)+ 25HJMP 1025H ;段內(nèi)近轉(zhuǎn)移,-32768 +32767 (IP)(IP)+ 1025HJMP BX ;段內(nèi)間接轉(zhuǎn)移 (IP) (BX)JMP WORD PTR BX+TABLE ; (IP) DS*10H+BX+TABLEWORD PTR是單字操作符JMP 3500H:080BH ;段間直接轉(zhuǎn)移(CS)=3500H,(IP)=080BHJMP FAR PTR NEXT_PROG ;NEXT_PROG是符號(hào)地址,所在段的段地址送CS,段內(nèi)的偏移量送IPJMP DWORD PTR PTRBX+DI+ALPHA ;DWORD PTR是雙字操
15、作符EA=(BX)+(DI)+ALPHA PA=(DS)×10H+EA (IP) (PA) ;低地址內(nèi)容送IP (CS) (PA+2) ;高地址內(nèi)容送CS 轉(zhuǎn)移的物理地址是:PA=(CS) ×10H+(IP)練習(xí)l 選擇題:1 、一條完整的指令是由操作碼和操作數(shù)兩部分信息組成的。 2 、直接、間接、立即這 3 種尋址方式指令的執(zhí)行速度有快到慢的排序是( C )A 直接、立即、間接 B 直接、間接、立即 C 立即、直接、間接 D 立即、間接、直接3 、指令系統(tǒng)中采用不同尋址方式的目的是( B )A 實(shí)現(xiàn)存儲(chǔ)程序和程序控制 B 縮短指令長度,擴(kuò)大尋址空間,提高編程靈活性C 可以
16、直接訪問外存 D 提高擴(kuò)展操作碼的可能并降低指令譯碼難度4 、變址尋址方式中,操作數(shù)的有效地址等于( C ) 例:MOV AX,SI+100HA 基址寄存器內(nèi)容加上偏移量 B 堆棧指示器內(nèi)容加上偏移量C 變址寄存器內(nèi)容加上偏移量 D 程序計(jì)數(shù)器內(nèi)容加上偏移量5 、計(jì)算機(jī)指令中一般包含哪些字段?分別是什么含義?答:計(jì)算機(jī)指令中一般包含地址碼和操作碼兩部分,地址碼表示指令的操作對(duì)象,指出操作數(shù)的地址,操作碼表示操作的性能及功能。6設(shè)BX=2000H,SI=3000H,指令MOV AX,BX+SI+8H的源操作有效地址為( )。A5000H B5008H
17、; C23008H D32008H注:有效地址EA就是方括號(hào)中表達(dá)式的值。EABX+SI+8H2000H+3000H+8H5008H7設(shè)DS=1000H,ES=2000H,BX=3000H,指令A(yù)DD AL,BX的源操作數(shù)的物理地址為( )。13000H B23000H C33000H D 3000H注:這是一個(gè)騙人的題!ES=2000H是蒙人的!源操作數(shù)BX,是寄存器間接尋址,B
18、X與段地址DS默認(rèn)組合。物理地址PADS*10H + EA 10000H + 3000H 13000H8設(shè)DS=2000H,ES=3000H,SI=200H,指令MOV ES:SI,AL的目的操作數(shù)的物理地址為( )。A20200H B30200H C50200H D200H注:這也是一個(gè)騙人的題!DS=2000H是蒙人的!目的操作數(shù)ES:SI是帶段超越的寄存器間接尋址,PAES*10H+EA30000H+SI30000H+20
19、0H30200H9指令MOV MEMBX,AX中的MEM是( )。A原碼 B反碼 C補(bǔ)碼 D移碼注:MEM是符號(hào),它也對(duì)應(yīng)著一個(gè)數(shù)值。計(jì)算機(jī)中所有數(shù)值默認(rèn)以補(bǔ)碼形式表示(第1章) 10用來作為寄存器間接尋址的寄存器有( 4 )個(gè)。只能使用BX,BP,SI,DIA8 &
20、#160; B6 C5 D411指令MOV BX+SI,AL中的目的操作數(shù)使用( )段寄存器。ACS BDS
21、;CSS DES注:BX+SI是基址+變址尋址,基址BX與段DS默認(rèn)組合。12指令MOV BX,BP+5中的源操作數(shù)使用( )段寄存器。ACS BDS CSS DES注:操作數(shù)地址
22、在基址寄存器BX,BP中稱為基址尋址;若還有位移量,則稱為基址相對(duì)尋址。BP+5是基址相對(duì)尋址,基址BX與段DS默認(rèn)組合,基址BP與段SS默認(rèn)組合。13段內(nèi)間接尋址只改變( )中的內(nèi)容。ACS BIP CCS和IP DPSW14段間間接尋址只改變( )中的內(nèi)容。ACS
23、0; BIP CCS和IP DPSW15指令JMP WORD PTR BX屬于( )尋址。A段內(nèi)直接 B段內(nèi)間接 C段間直接 D段間間接16指令MOV AX,BX+SI+8的源操作數(shù)屬于( )尋址。A直接
24、 B寄存器相對(duì) C基址變址 D基址變址相對(duì)注:基址BX變址SI相對(duì)8,默認(rèn)與段DS組合(是由BX決定的)17兩個(gè)整數(shù)補(bǔ)碼9CH和7AH相加運(yùn)算后,會(huì)產(chǎn)生( )。A無溢出且無進(jìn)位 B無溢出但有進(jìn)位C有溢出且有進(jìn)位 D有溢出但無進(jìn)位 此方法,必須會(huì)!注:從表面上看,9CH是負(fù)數(shù)(1001 1
25、100H),7AH是正數(shù)(0111 1010H),相加后肯定無溢出。從算法上來看,采用雙符號(hào)位的方法,有無溢出和進(jìn)位要列計(jì)算式,重點(diǎn)看進(jìn)位情況:11 001 1100 (-64H)+) 00 111 1010 ( 7AH)進(jìn)位 11 111 0000 1 00 001 0110 ( 16H)第6位(粉色)相加,向第7位(最高位,最低位是第0位)有進(jìn)位1;最高位相加,向符號(hào)位有進(jìn)位1.兩個(gè)進(jìn)位相同“00”或“11”,則無溢出;不同“01”或“10”,則有溢出。18十進(jìn)制數(shù)字74所對(duì)應(yīng)的壓縮型BCD碼的形式是( )。A74 &
26、#160; B74H C4AH D4A注:壓縮型BCD碼就是每1位十進(jìn)制數(shù),對(duì)應(yīng)4位二進(jìn)制數(shù)。7對(duì)應(yīng)0111B,4對(duì)應(yīng)0100B,故結(jié)果為74H10十進(jìn)制數(shù)字85所對(duì)應(yīng)的非壓縮型BCD碼的形式是( )。A0085 B0085H &
27、#160;C0805 D0805H注:非壓縮型BCD碼就是每1位十進(jìn)制數(shù),對(duì)應(yīng)8位二進(jìn)制數(shù)。8對(duì)應(yīng)0000 1000B,5對(duì)應(yīng)0000 0101B,故結(jié)果為0805H20壓棧操作是( )位數(shù)的操作。每次壓棧都是一個(gè)字!背A8 B16 C32
28、 D任意1在下列尋址方式中,用來訪問內(nèi)存的尋址方式有( )。 A寄存器尋址 B寄存器間接尋址 C寄存器相對(duì)尋址 D直接尋址2用來作為寄存器間接尋址的寄存器有( )。只有BX,BP,SI,DI共4個(gè)
29、0; AAX BBX CBP CX3在下列指令中,源操作數(shù)使用DS段寄存器進(jìn)行寄存器相對(duì)尋址的有( )。 AMOV AX
30、,DI4 BMOV AX , ES:SI8 CMOV AX,BP4 DMOV AX , BX4注:BX,SI,DI與段DS默認(rèn)組合成物理地址,BP與段SS默認(rèn)組合。但是選項(xiàng)B,已經(jīng)非默認(rèn)地指定了段ES,所以B錯(cuò)誤。正確答案為A
31、,D4在下列指令中,源操作數(shù)的尋址方式是錯(cuò)誤的有( )。AMOV AX,DIBX BMOV AX,SIDICMOV AX,BPBX DMOV AX,DX注:A是基+變,正確;B是變+變,無此形式,錯(cuò)誤!C是基+基,無此形式,錯(cuò)誤!D 的源操作數(shù)尋址形式DX,看似寄存器間接尋址!但是(內(nèi)存單元的邏輯偏移地址由寄存器間接給出,只能使
32、用BX、BP、SI、DI)MOV AX,SIMOV AX,DIMOV AX,BPMOV AX,SX這四種形式都是正確,但(基+基)和(變+變)形式是錯(cuò)誤的!再有就是寄存器間接尋址,只能使用BX、BP、SI、DI。l 填空題:1在一條指令中,立即數(shù)只能作 源 操作數(shù)。你見過MOV 1234H,AX嗎?28086/8088 CPU形成的內(nèi)存物理地址有 20 位。3指令“MOV AX,BX+SI”的源操作數(shù)在內(nèi)存的 DS 段。BX默認(rèn)與DS段組合4指令“MOV BX,BP+DI”的源操作數(shù)在內(nèi)存的 SS 段
溫馨提示
- 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國起重設(shè)備管理制度
- 中核華辰員工管理制度
- 嚴(yán)格落實(shí)藥品管理制度
- 井下局扇司機(jī)管理制度
- 事故類比檢查管理制度
- uV打印車間管理制度
- 住宅物業(yè)保安管理制度
- 產(chǎn)科質(zhì)量安全管理制度
- 產(chǎn)科重大手術(shù)管理制度
- 鄉(xiāng)鎮(zhèn)文字資料管理制度
- 人教版五年級(jí)上冊(cè)Unit 3 單元質(zhì)量調(diào)研卷(一)(含聽力材料+聽力MP3+參考答案)
- 江蘇省鹽城市2023年七年級(jí)下冊(cè)《數(shù)學(xué)》期末試卷與參考答案
- DB34T 4705-2024 職業(yè)健康檢查工作規(guī)范
- 七年級(jí)數(shù)學(xué)下冊(cè) 專題 不等式(組)中新定義運(yùn)算&程序性問題(解析版)
- 《 大學(xué)生軍事理論教程》全套教學(xué)課件
- 藥物相互作用
- 無線電裝接工考試:初級(jí)無線電裝接工考試題庫(題庫版)
- 2024年高考真題和模擬題物理分類匯編專題08 電場(原卷版)
- 人教版PEP五年級(jí)下冊(cè)英語作文
- 石家莊市國企招聘考試真題題庫2024版
- 肉鴨養(yǎng)殖合同
評(píng)論
0/150
提交評(píng)論