版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、3.1 概述指令控制計(jì)算機(jī)完成指定操作的命令機(jī)器指令指令的二進(jìn)制代碼形式。例如:CD21H匯編指令助記符形式的指令。例如:INT 21H指令系統(tǒng)CPU所有指令及其使用規(guī)則的集合第3章 8086/8088指令系統(tǒng)8088/8086指令系統(tǒng):(1)指令向后兼容(x86系列)(2)應(yīng)用廣泛,資料易于尋找1指令按功能分為六大類(92種)(1)數(shù)據(jù)傳送類;(2)算術(shù)運(yùn)算類;(3)邏輯運(yùn)算和移位;(4)串操作;(5)控制轉(zhuǎn)移類;(6)處理器控制。23.1.1 指令的基本構(gòu)成操作碼 操作數(shù),操作數(shù)說明要執(zhí)行的是什么操作操作對(duì)象,可以有0個(gè)、1個(gè)或2個(gè)目的源3指令舉例:ADD AX,SI+6MOV AX ,
2、BX操作碼 操作數(shù)INC BXHLT4部分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/IRET58088/8086的操作數(shù)分為3類1、立即數(shù)(常數(shù))取值范圍如下表:立即數(shù)只能用作源
3、操作數(shù),如8位16位無符號(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ò)誤62、寄存器操作數(shù)放在8個(gè)通用寄存器或4個(gè)段寄存器中的操作數(shù)7只能存放字操作數(shù)段寄存器存放當(dāng)前操作數(shù)的段基地址不允許將立即數(shù)傳送到段寄存器SIDIBPSPCSDSESSS83、存儲(chǔ)器操作數(shù)存儲(chǔ)器操作數(shù)字節(jié)字雙字124類型存儲(chǔ)單元個(gè)數(shù)一般不允許兩個(gè)操作數(shù)同時(shí)為存儲(chǔ)器操作數(shù)9存儲(chǔ)單元的物理地址 = 段基地址 + 偏移地址若指令中沒有指明所涉及的段寄存器,C
4、PU就采用默認(rèn)的段寄存器來確定操作數(shù)所在的段。表3.3 段寄存器使用的一些基本約定存儲(chǔ)器操作數(shù)的偏移地址(也稱有效地址)可以通過不同的尋址方式由指令給出。例如,若(BX)=2000H, (SI)=0A00H, (DI)=2A00H,則以下指令的結(jié)果是一樣的:MOV AL, 2A00HMOV AL, BX+0A00HMOV AL, BXSIMOV AL, DI10一條指令的執(zhí)行時(shí)間=3.1.2 指令的執(zhí)行時(shí)間取指令取操作數(shù)執(zhí)行指令傳送結(jié)果單位用時(shí)鐘周期數(shù)表示表3.4 常用指令執(zhí)行時(shí)間結(jié)論: 1)盡量使用寄存器作為操作數(shù) 2)若有可能,用移位代替乘除法 3)盡量使用簡單的尋址方式11尋址方式尋找操
5、作數(shù)的方法 尋找操作數(shù)的地址(一般指源操作數(shù)) 尋找要執(zhí)行的下一條指令的地址在8086指令系統(tǒng)中,說明操作數(shù)所在地址的尋址方式可分為8種: 立即尋址 寄存器相對(duì)尋址 直接尋址 基址-變址尋址 寄存器尋址 相對(duì)的基址-變址尋址 寄存器間接尋址 隱含尋址3.2 8086的尋址方式12 操作數(shù)(為一常數(shù))直接由指令給出 (此操作數(shù)稱為立即數(shù)) 立即尋址只能用于源操作數(shù) 例: MOV AX, 1C8FH MOV BYTE PTR2A00H, 8FH 錯(cuò)誤例: MOV 2A00H, AX ; 錯(cuò)誤! 3.1.2 立即尋址13立即數(shù)操作碼低8位高8位存儲(chǔ)器MOV操作碼02H31HAHAL代碼段代碼段立即尋
6、址指令在存儲(chǔ)器中的存放形式AX指令操作例:MOV AX,3102H ; AX 3102H 執(zhí)行后,(AH) = 31H,(AL) = 02H143.2.2 直接尋址 指令中直接給出操作數(shù)的16位偏移地址 偏移地址也稱為有效地址(EA, Effective Address) 默認(rèn)的段寄存器為DS,但也可以顯式地指定其他段寄存器稱為段超越前綴 偏移地址也可用符號(hào)地址來表示,如ADDR、VAR 例: MOV AX , 2A00H MOV DX , ES: 2A00H MOV SI , TABLE_PTR15指令操作例:MOV AX,3102H AL (3102H) , AH (3103H)如果(DS
7、)=2000H, (23012H) = CDH, (23013H) = ABH則操作數(shù)的物理地址為: 20000H+3102H = 23102H指令執(zhí)行后:(AX) = ABCDHMOV操作碼02H31HAHAL23102HCDHABH存儲(chǔ)器代碼段數(shù)據(jù)段.163.2.3 寄存器尋址 操作數(shù)放在某個(gè)寄存器中 源操作數(shù)與目的操作數(shù)字長要相同 寄存器尋址與段地址無關(guān) 例: MOV AX, BX MOV 3F00H, AX MOV CL, AL 錯(cuò)誤例: MOV AX, BL ; 字長不同 MOV ES: AX, DX ; 寄存器與段無關(guān)17AXSI2233H2233H指令操作例:MOV SI,AX
8、; SI (AX) 指令執(zhí)行前:(AX)=2233H 指令執(zhí)行后:(AX)=2233H,(SI)=2233H183.2.4 寄存器間接尋址 操作數(shù)的偏移地址(有效地址EA)放在寄存器中 只有SI、DI、BX和BP可作間址寄存器 例: MOV AX, BX MOV CL, CS:DI 錯(cuò)誤例 : MOV AX, DX MOV CL, AXEA = (BX)(BP)(SI)(DI)19指令操作例:MOV AX,SI若 (DS)=6000H, (SI)=1200H, (61200H)=44H, (61201H)=33H則指令執(zhí)行后,(AX)=3344H。44H33H60001200DSSI60000
9、61200 61200HAX存儲(chǔ)器數(shù)據(jù)段 +) 120044H33H203.2.5 寄存器相對(duì)尋址 EA=間址寄存器的內(nèi)容加上一個(gè)8/16位的位移量寄存器相對(duì)尋址常用于存取表格或一維數(shù)組中的元素把表格的起始地址作為位移量,元素的下標(biāo)值放在間址寄存器中(或反之)EA = (BX)(BP)(SI)(DI)+ 8位16位位移量 21 例: MOV AX, BX+8 MOV CX, TABLESI MOV AX, BP+1000H ; 默認(rèn)段寄存器為SS 指令操作例:MOV AX,DATABX 若(DS)=6000H, (BX)=1000H, DATA=2A00H, (63A00H)=66H, (63
10、A01H)=55H 則物理地址 = 60000H + 1000H + 2A00H = 63A00H 指令執(zhí)行后:(AX)=5566H(見下頁圖示) 22操作碼00 偏移量低2A 偏移量高DS 6000BX 1000 + DATA 2A0063A0063A00HAHALAX代碼段數(shù)據(jù)段.66H55HMOV AX,DATABX233.2.6 基址-變址尋址 若操作數(shù)的偏移地址: 由基址寄存器(BX或BP)給出 基址尋址方式 由變址寄存器(SI或DI)給出 變址尋址方式 由一個(gè)基址寄存器的內(nèi)容和一個(gè)變址寄存器的內(nèi)容相加而形成操作數(shù)的偏移地址,稱為基址-變址尋址。EA = (BX)(BP)+ (SI)
11、(DI) 同一組內(nèi)的寄存器不能同時(shí)出現(xiàn)。24例: MOV AX, BX SI MOV AX, BX+SI MOV AX, DS: BP DI錯(cuò)誤例: MOV AX, BX BP MOV AX, DI SI25 83000操作碼DS 8000BX 2000 + SI 100083000HAHALAX代碼段數(shù)據(jù)段.YYXX指令操作例:MOV AX,BXSI假定:(DS)=8000H, (BX)=2000H, SI=1000H則物理地址 = 80000H + 2000H + 1000H = 83000H指令執(zhí)行后: (AL)=83000H (AH)=83001H263.2.7 相對(duì)的基址-變址尋址
12、在基址-變址尋址的基礎(chǔ)上再加上一個(gè)相對(duì)位移量 注意事項(xiàng)同基址-變址尋址EA = (BX)(BP)+ (SI)(DI)+ 8位16位位移量 例:MOV AX,BASE SI BXMOV AX,BX+BASE SIMOV AX,BX+SI+BASEMOV AX,BX BASE SIMOV AX,BX+SI BASE27指令操作例:MOV AX,DATADIBX若(DS)=8000H, (BX)=2000H, (DI)=1000H, DATA=200H則指令執(zhí)行后(AH)=83021H, (AL)=83020H8320083200HAHALAX+ DATA 0200操作碼代碼段數(shù)據(jù)段.YYXXDS 8000BX 2000 DI 100028使用相對(duì)的基址-變址尋址方式可以很方便地訪問二維數(shù)組?;芳拇嫫鲾?shù)組首地址變址寄存器數(shù)組元素行址位移量數(shù)組元素列址(偏移地址)二維數(shù)組例:內(nèi)存圖示293.2.8 隱含尋址 指令操作數(shù)是隱含的,在指令中未顯式地指明。 例:MUL BL 指令隱含了被乘數(shù)AL及乘積AX 類似的指令還有:DIV、CBW、MOVS等(AL)(BL)AX30小結(jié)指令由( )和( )構(gòu)成如何取得操作數(shù)稱為
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度股份代持與代管合同協(xié)議2篇
- 二零二五年度水利工程監(jiān)測與施工測量服務(wù)合同范本3篇
- 二零二五版新能源設(shè)備搬運(yùn)安裝合同細(xì)則3篇
- 2025年度航空航天器發(fā)動(dòng)機(jī)安裝與測試合同3篇
- 二零二五年度綠色交通設(shè)施招標(biāo)投標(biāo)合同6篇
- 展會(huì)參展資格合同(2篇)
- 二零二五版水利工程鋼筋加工與分包合同規(guī)范范本3篇
- 二零二五版室內(nèi)外景觀裝飾一體化合同3篇
- 2025年度文化演出活動(dòng)承辦合同3篇
- 二零二五版單位職工食堂員工健康體檢承包合同2篇
- 中建集團(tuán)面試自我介紹
- 《工業(yè)園區(qū)節(jié)水管理規(guī)范》
- 警校生職業(yè)生涯規(guī)劃
- 意識(shí)障礙患者的護(hù)理診斷及措施
- 2024版《53天天練單元?dú)w類復(fù)習(xí)》3年級(jí)語文下冊(cè)(統(tǒng)編RJ)附參考答案
- 2025企業(yè)年會(huì)盛典
- 215kWh工商業(yè)液冷儲(chǔ)能電池一體柜用戶手冊(cè)
- 場地平整施工組織設(shè)計(jì)-(3)模板
- 交通設(shè)施設(shè)備供貨及技術(shù)支持方案
- 美容美發(fā)店火災(zāi)應(yīng)急預(yù)案
- 餐車移動(dòng)食材配送方案
評(píng)論
0/150
提交評(píng)論