




已閱讀5頁,還剩67頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
內(nèi)容提要,回顧: 8086 CPU結(jié)構(gòu) 一、指令系統(tǒng)概述 二、8086/8088尋址方式,西安電子科技大學(xué) 馮育長,2,8086 CPU結(jié)構(gòu),回顧:,3,執(zhí)行部件,總線接口部件,4,5,8086 CPU的寄存器,8086CPU中可供編程使用的有14個16位寄存器,按其用 途可分為3類:通用寄存器、段寄存器、指針和標(biāo)志寄存器,累加器,AH,AL,BH,BL,CL,DH,DL,CH,SP,SI,DI,IP,FLAGS,CS,DS,SS,ES,BP,基址寄存器,計數(shù)寄存器,數(shù)據(jù)寄存器,堆棧指針寄存器,基址指針寄存器,源變址寄存器,目的變址寄存器,指令指針寄存器,標(biāo)志寄存器,代碼段寄存器,段寄存器,附加段寄存器,堆棧段寄存器,數(shù)據(jù)寄存器,地址指針和,變址寄存器,控制寄存器,通用寄存器,數(shù)據(jù)段寄存器,6,存儲器的分段管理,8086CPU有20條地址線 最大可尋址空間為2201MB 物理地址范圍從00000HFFFFFH 8086CPU將1MB空間分成段(Segment) 每個段最大限制為64KB 最小視需要而定 分段后在用戶編程時,采用邏輯地址,形式為 段基地址 : 段內(nèi)偏移地址,7,物理地址計算方法: 物理地址= 段地址16 +偏移地址。,例,某單元的邏輯地址是1460H:0100H , 求其物理地址。,8,段寄存器和邏輯段,8086有4個16位段寄存器,每個段寄存器用來確定一個邏輯段的起始地址,每種邏輯段均有各自的用途 CS(代碼段)指明代碼段的起始地址 SS(堆棧段)指明堆棧段的起始地址 DS(數(shù)據(jù)段)指明數(shù)據(jù)段的起始地址 ES(附加段)指明附加段的起始地址,9,邏輯段分配,10,一、指令系統(tǒng)概述,了解基本概念: 指令及指令系統(tǒng) 指令的格式 指令分類方法 指令中的操作數(shù)類型 指令的機(jī)器代碼形式,11,1、指令與指令系統(tǒng),指令: 控制計算機(jī)完成某種操作的命令 指令系統(tǒng): 處理器所能識別的所有指令的集合 如:Intel 8086指令系統(tǒng)共有117條基本指令,12,2、指令格式,說明要執(zhí)行哪種操作 如:數(shù)據(jù)傳送 加法 減法 等操作 用助記符表示 如:MOV ADD SUB,是指令執(zhí)行的參與者,即操作的對象,13,3、指令分類方法,可按功能可分類,Intel 8086指令系統(tǒng)共有117條基本指令,可分成6大類 數(shù)據(jù)傳送類指令 算術(shù)運(yùn)算類指令 位操作類指令 串操作類指令 控制轉(zhuǎn)移類指令 處理機(jī)控制類指令,14,3、指令分類方法,按操作數(shù)的多少可分為3種指令: 0 操作數(shù)指令 NOP ;空操作指令 單操作數(shù)指令 INC CX ;(CX) (CX)+1 DEC CX ;(CX) (CX)-1 雙操作數(shù)指令 MOV AX,BX ;(AX) (BX),15,4、指令中的操作數(shù),參與操作的數(shù)據(jù)有3種表征方式 立即數(shù) 數(shù)據(jù)包含在指令中 寄存器操作數(shù) 數(shù)據(jù)包含在寄存器中 存儲器操作數(shù) 數(shù)據(jù)在內(nèi)存中,操作碼 操作數(shù) ,操作數(shù),指令中描述數(shù)據(jù)的來源或去向的方法稱為 尋址方式,16,二、8086/8088尋址方式,立即尋址 (Immediate addressing) 寄存器尋址方式(Register addressing) 直接尋址 (Direct addressing) 寄存器間接尋址方式 寄存器相對尋址方式 基址變址尋址方式 基址變址相對尋址方式,17,1. 立即尋址,指令的助記符形式 MOV AL,34H 指令中的操作數(shù)直接包含在機(jī)器代碼中,緊跟在操作碼之后(操作數(shù)作為指令的一部分存放在操作碼之后的主存單元中),機(jī)器代碼是B0 34 前一個字節(jié)B0是操作碼 (含一個操作數(shù)AL) 后一個字節(jié)34H是立即數(shù) 指令長度 2字節(jié)指令,指令的機(jī)器代碼形式,18,立即尋址指令,MOV AL,34H ;(AL)34H ;機(jī)器代碼是B0 34,指令功能,執(zhí)行過程,例,機(jī)器碼在代碼段中的存放形式,19,立即數(shù)尋址的功能,20,立即數(shù)尋址的執(zhí)行,21,操作數(shù)包含在機(jī)器代碼中,緊跟在操作碼之后 如 MOV AL,34H 這種操作數(shù)被稱為立即數(shù)Immediate 立即尋址方式常用來給寄存器賦值 常用格式 MOV Reg, imm,請寫出MOV AL, 56H的機(jī)器碼,注意: 掌握指令的助記符格式 理解機(jī)器碼在代碼段中的存放形式,立即尋址方式要點(diǎn),22,立即數(shù)imm可以是8位數(shù)值(00HFFH) MOV AL, 34H 立即數(shù)imm也可以是16位數(shù)值(0000HFFFFH),如: MOV AX,0102H 機(jī)器代碼是B8 02 01 前一個字節(jié)B8是操作碼 (含一個操作數(shù)AX), 后兩個字節(jié)02 01是16位立即數(shù) (低字節(jié)在前,高字節(jié)在后),3字節(jié)指令,23,2. 寄存器尋址方式,操作數(shù)存放在寄存器中,可以是: 8個通用寄存器Reg 8位寄存器 16位寄存器 4個段寄存器SegReg DS、SS、ES、CS,注意,在任何情況下, 不允許給CS送數(shù)據(jù),24,寄存器尋址指令,MOV BX,AX ;(BX)(AX),指令功能,例,25,寄存器尋址的功能,26,寄存器尋址指令,MOV AX,3000H ;(AX)3000H MOV DS,AX ; (DS) (AX),執(zhí)行過程,寄存器尋址 機(jī)器代碼是8E08,立即數(shù)尋址,例,27,寄存器尋址的執(zhí)行,28,立即尋址和寄存器尋址指令在執(zhí)行時,不再訪問內(nèi)存,稱為與存儲器無關(guān)的尋址方式 執(zhí)行指令時,如果要訪問內(nèi)存, 這種尋址方式稱為與存儲器有關(guān)的尋址方式 8086有多種存儲器尋址方式 3. 直接尋址方式 4. 寄存器間接尋址方式 5. 寄存器相對尋址方式 6. 基址變址尋址方式 7. 基址變址相對尋址方式,難點(diǎn)之一 先理解 再驟步掌握,29,3. 直接尋址方式,在指令中直接給出有效地址 默認(rèn)的段地址在DS段寄存器 設(shè)(DS)=3000H MOV AX,2000H ;AX(DS)*16+2000H) ;指令代碼:A1 0020 EA=2000H 物理地址=(DS)16+EA=32000H,指令功能,執(zhí)行過程,指令中給出操作數(shù)的偏移地址 稱之為有效地址EA (Effective Address) 而數(shù)據(jù)在數(shù)據(jù)段中,30,直接尋址的功能,31,直接尋址的執(zhí)行,32,在指令中給出的是數(shù)據(jù)的有效地址,而不是數(shù)據(jù) 一般,數(shù)據(jù)與機(jī)器碼不在同一個段中 如 MOV AX,2000H 的執(zhí)行過程涉及兩個段 CPU通過計算物理地址后 再訪問數(shù)據(jù),直接尋址方式要點(diǎn),(AX)(DS)*16+2000H),33,設(shè)(DS)=3000H,編寫指令,把30100H單元中的字節(jié)數(shù)據(jù)傳送到AL寄存器中,把30100H單元中的字?jǐn)?shù)據(jù)傳送到DX寄存器中。,MOV AL,0100H ;(AL)=34H MOV DX,0100H ;(DX)=5634H,例,34,設(shè)(DS)=3561H,用MOV指令完成下列功能。,(AL)(35610H) (BL)(356FFH) (CL)(40002H),課堂作業(yè),35,設(shè)(DS)=3561H,用MOV指令完成下列功能。,(AL)(35610H) (BL)(356FFH) (CL)(40002H),課堂作業(yè),MOV AL,0000H,以AF開頭的數(shù),加前導(dǎo)0,MOV BL,00EFH,MOV CL,0A9F2H,36,注意,直接尋址方式,默認(rèn)DS段寄存器 可使用段超越前綴,用來指定段寄存器 設(shè)(ES)=5000H MOV AX,ES:2000H ;(AX)(ES)*16+2000H) ;EA=2000H , ;物理地址=(ES)16+EA =52000H,37,關(guān)于段的超越,MOV Reg,2000H默認(rèn)DS段寄存器 若訪問的不是DS段,一定要使用段超越前綴,用來指定段寄存器 MOV Reg,SegReg : 2000H,關(guān)于段的超越實際很簡單 比如王五說:“賽格的優(yōu)盤很便宜,只要110元”。 請問:110元人民幣還是美元?,38,3. 直接尋址方式,(1)默認(rèn)DS,但允許段超越。 MOV AL,ES:2500H (2)直接尋址方式適用于處理單個變量。 若要處理批量數(shù)據(jù)或表格數(shù)據(jù)應(yīng)使用其它與存儲器有關(guān)的尋址方式,小結(jié),4. 寄存器間接尋址方式 5. 寄存器相對尋址方式 6. 基址變址尋址方式 7. 基址變址相對尋址方式,39,參與操作數(shù)據(jù)存放在內(nèi)存中 由寄存器間接給出操作數(shù)的有效地址,例,設(shè)(DS)=3000H MOV AL,0100H;直接尋址 ;(AL)(DS)*16+0100H) 等價于下列指令段: MOV BX,0100H MOV AL,BX ;(AL)(DS)*16+(BX),BX 稱為間址寄存器 EA=(BX)=0100H 物理地址=(DS)*16+EA,4. 寄存器間接尋址方式,簡化描述為:(AL)(BX),40,使用何種尋址方式? 字節(jié)傳送還是字傳送? MOV AX,0100H MOV AX,0100H MOV AL,0100H MOV AX,BX MOV AX,BX MOV AL,BX,注意,區(qū)分下列指令:,41,允許 段超越,段地址取決于間址寄存器: BXSIDI 默認(rèn)DS(數(shù)據(jù)段) BP 默認(rèn)SS(堆棧段),只有4個寄存器可用作間接尋址,注意,MOV AL,ES:BX ;物理地址=(ES)*16+(BX),42,寄存器間接尋址,設(shè)(DS)=3000H MOV BX,2000H MOV AX,BX ;物理地址=(DS)*16+(BX) =32000H ;(AX)(DS)*16+(BX) ;指令代碼:8B07,指令功能,執(zhí)行過程,例,43,寄存器間接尋址的功能,44,寄存器間接尋址的執(zhí)行,45,設(shè)(DS)=3000H,編寫程序,把從30100H單元開始的100個字節(jié)數(shù)據(jù)累加,累加和的低8位存入AL中。,MOV AL,0 MOV CX,100 MOV BX,0100H L1: ADD AL,BX ;(AL)(AL)+(BX) INC BX ;(BX)(BX)+1 DEC CX ;(CX)(CX)-1 JNZ L1;若(CX)0則轉(zhuǎn)向L1,否則執(zhí)行下一條指令 HLT ;暫停,(AL)=X0+X1+ +X99,設(shè)置地址指針,應(yīng)用示例 1 處理批量數(shù)據(jù),46,設(shè)(DS)=3000H,編寫程序,把從30100H單元開始的100個字節(jié)數(shù)據(jù)累加,累加和的低8位存入AL中。,MOV AL,0 MOV CX,100 MOV BX,0100H L1: ADD AL,BX ;(AL)(AL)+(BX) INC BX ;(BX)(BX)+1 DEC CX ;(CX)(CX)-1 JNZ L1;若(CX)0則轉(zhuǎn)向L1,否則執(zhí)行下一條指令 HLT ;暫停,(AL)=X0+X1+ +X99,問 題 1 :,可以用作間接尋址的寄存器有哪幾個?,SI,DI,BP ?,DX ?,BX,47,設(shè)(DS)=3000H,編寫程序,把從30100H單元開始的100個字節(jié)數(shù)據(jù)累加,累加和的低8位存入AL中。,MOV AL,0 MOV CX,100 MOV BX,0100H L1: ADD AL,BX ;(AL)(AL)+(BX) INC BX ;(BX)(BX)+1 DEC CX ;(CX)(CX)-1 JNZ L1;若(CX)0則轉(zhuǎn)向L1,否則執(zhí)行下一條指令 HLT ;暫停,(AL)=X0+X1+ +X99,問 題 2 :,若要把累加和的低8位存入30164H單元,如何編程?,MOV BX,AL,48,分別執(zhí)行下列程序后, 問(DS:0020H)=?,MOV AL,0 MOV CX,5 NEXT:INC AL DEC CX JNZ NEXT MOV 0020H,AL,例,MOV AL,0 MOV CX,256 NEXT:INC AL DEC CX JNZ NEXT MOV 0020H,AL,(DS:0020H)=00H,(DS:0020H)=05H,49,5. 寄存器相對尋址方式,操作數(shù)的有效地址是間址寄存器內(nèi)容加上一個位移量(displacement) 例:設(shè)(DS)=3000H,(BX)=1000H MOV AL,BX+1000H 有效地址=(BX)+1000H 物理地址=(DS)*16+(BX)+1000H =32000H,有效地址由2個部分組成 間址寄存器+disp,50,BX本身的值不變 (只引用BX之值,并不修改BX),寄存器相對尋址方式的幾點(diǎn)說明:,1.有效地址由兩個部分組成:間址寄存器+disp 2.執(zhí)行指令時并不影響間址寄存器的內(nèi)容 如:設(shè)(DS)=3000H,(BX)=1000H MOV AL,BX+1000H 3.等價指令格式 MOV AL,BX+1000H MOV AL,1000H+BX MOV AL,1000HBX,常用格式,51,4.間址寄存器與段寄存器的對應(yīng)關(guān)系,允許段超越,MOV AL,ES:20HBX ;物理地址=(ES)*16+20H+(BX),52,寄存器相對尋址指令,設(shè)(DS)=3000H,(BX)=1000H MOV AL,1000HBX ;有效地址 EA=1000H+(BX)=2000H ;物理地址 =(DS)*16 +EA =32000H ;(AX)(32000H),指令功能,例,53,寄存器相對尋址的功能,54,寄存器相對尋址指令,MOV AX, 1000HSI ;(AX)(DS)*16+1000H+(SI) ;機(jī)器代碼是8B84 0010,執(zhí)行過程,例,55,寄存器相對尋址的執(zhí)行,56,某數(shù)據(jù)表的首地址為3000H:0100H,欲讀取表中第10個數(shù)據(jù),存放到AL中。,應(yīng)用示例 2 查表程序,MOV AX,3000H MOV DS,AX MOV BX,0100H L2: MOV AL,9BX ;(AL)(BX)+9) ,設(shè),DS:BX 指向表的首地址,則,第10個數(shù)據(jù)的地址?,EA= (BX) + 9,相對尋址的優(yōu)點(diǎn): 基地址不動,改變位移量,可訪問不同的表格元素,BX 基址寄存器 指向首地址 便于訪問表格,57,6. 基址變址尋址方式,操作數(shù)的有效地址是一個基址寄存器和一個變址寄存器的內(nèi)容之和 例:設(shè)(DS)=3000H,(BX)=1500H,(SI)=0500H, MOV AL,BX+SI 有效地址 EA=(BX)+(SI) 物理地址=(DS)*16+(BX)+(SI) =32000H,有效地址由2個部分組成 基址寄存器+變址寄存器,58,基址變址尋址方式幾點(diǎn)說明:,1. 等價指令格式 MOV AL,BX+SI MOV AL,BX+SI MOV AL,BXSI,常用格式 有效地址 EA=(BX)+(SI),59,2. 基址寄存器與段寄存器的對應(yīng)關(guān)系,只能用 BX 或 BP 作基址寄存器 只能用 SI 或 DI 作變址寄存器,60,MOV AX,BX MOV AX,BX MOV AX,BP MOV AX,CX MOV AL,2500HBX MOV AL,BXSI MOV AX,BXDI MOV AX,BPSI MOV DL,BXBP MOV DX,SIDI,分析下列語句是否正確?,課堂作業(yè),61,3. 基址寄存器與段寄存器的對應(yīng)關(guān)系,允許段超越,MOV AL,ES:BXSI ;物理地址=(ES)*16+(BX)+(SI),62,基址變址尋址指令,指令功能,執(zhí)行過程,例:設(shè)(DS)=3000H, (BX)=1500H,(SI)=0500H, MOV AL,BXSI 有效地址 EA=(BX)+(SI)=2000H 物理地址=(DS)*16+EA =32000H,63,基址變址尋址的功能,64,基址變址尋址的執(zhí)行,65,某數(shù)據(jù)表的首地址為3000H:0100H,欲讀取表中第10個數(shù)據(jù),存放到AL中。,L3: MOV AL,BXSI ;(AL)(BX)+(SI),設(shè),DS:BX 指向表的首地址,第10個數(shù)據(jù)的地址?,則,EA= (BX) + (SI),優(yōu)點(diǎn):BX不動,改變SI, 可訪問表格的不同元素, 適用于多次訪問連續(xù)數(shù)據(jù),BX 基址寄存器,換一個算法 令(SI)=0009H,應(yīng)用示例 3 另一個查表程序,66
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)絡(luò)管理員考試提升競爭力試題及答案
- 2025年軟件設(shè)計師考試成就目標(biāo)試題及答案
- 2025年軟考網(wǎng)絡(luò)管理員重點(diǎn)試題及答案
- 2025年創(chuàng)新生態(tài)系統(tǒng)與公司戰(zhàn)略的契合及試題及答案
- 2025年網(wǎng)絡(luò)技術(shù)前沿試題及答案
- 軟件考試知識點(diǎn)快速掌握試題及答案
- 2025年軟件開發(fā)基礎(chǔ)試題及答案
- 2025至2030年中國瀝青路面專用增強(qiáng)纖維行業(yè)投資前景及策略咨詢研究報告
- 2025至2030年中國木框畫行業(yè)投資前景及策略咨詢研究報告
- 2025至2030年中國數(shù)控帶輪旋壓機(jī)行業(yè)投資前景及策略咨詢研究報告
- JJG 700 -2016氣相色譜儀檢定規(guī)程-(高清現(xiàn)行)
- 五方責(zé)任主體授權(quán)書和承諾書
- 《桂枝香·金陵懷古》ppt課件(沐風(fēng)學(xué)堂)
- 《泵站運(yùn)行工》word版
- API SPEC 5DP-2020鉆桿規(guī)范
- 食藥同源-PPT課件(PPT 55頁)
- 大學(xué)無機(jī)化學(xué)(吉林大學(xué)、武漢大學(xué)、南開大學(xué)版) 第17章 鹵素—— 內(nèi)蒙古民族大學(xué))
- 榆林智能礦山項目招商引資方案【參考范文】
- 醫(yī)院版LIS操作手冊(共84頁)
- 基于蓄熱式加熱爐PLC控制系統(tǒng)設(shè)計(共43頁)
- 瓦楞紙箱檢驗標(biāo)準(zhǔn)
評論
0/150
提交評論