![第三章1 尋址方式與指令系統(tǒng)[1].ppt_第1頁](http://file1.renrendoc.com/fileroot2/2020-1/11/f67b299e-572a-4d08-a02a-463831a34acc/f67b299e-572a-4d08-a02a-463831a34acc1.gif)
![第三章1 尋址方式與指令系統(tǒng)[1].ppt_第2頁](http://file1.renrendoc.com/fileroot2/2020-1/11/f67b299e-572a-4d08-a02a-463831a34acc/f67b299e-572a-4d08-a02a-463831a34acc2.gif)
![第三章1 尋址方式與指令系統(tǒng)[1].ppt_第3頁](http://file1.renrendoc.com/fileroot2/2020-1/11/f67b299e-572a-4d08-a02a-463831a34acc/f67b299e-572a-4d08-a02a-463831a34acc3.gif)
![第三章1 尋址方式與指令系統(tǒng)[1].ppt_第4頁](http://file1.renrendoc.com/fileroot2/2020-1/11/f67b299e-572a-4d08-a02a-463831a34acc/f67b299e-572a-4d08-a02a-463831a34acc4.gif)
![第三章1 尋址方式與指令系統(tǒng)[1].ppt_第5頁](http://file1.renrendoc.com/fileroot2/2020-1/11/f67b299e-572a-4d08-a02a-463831a34acc/f67b299e-572a-4d08-a02a-463831a34acc5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1,第3章 尋址方式與指令系統(tǒng),指令系統(tǒng)概述 8086尋址方式 8086指令系統(tǒng)(傳送指令),2,1.指令的基本概念 指令控制計算機完成指定操作的命令 機器語言指令指令的二進制代碼形式。 例如:B8 34 12 匯編語言指令助記符形式的指令。 例如:MOV AX,1234H 指令系統(tǒng)CPU所有指令及其使用規(guī)則的集合,指令系統(tǒng)概述,3,2. 指令格式,操作碼 操作數 MOV AX,2000H ;雙操作數 ADD AX,0100H ;表示為:操作碼 DST,SRC ADD AL,BL DEC BX ;單操作數,表示為:操作碼 DST NOP ;無操作數,4,3. 8086指令執(zhí)行過程,以指令: M
2、OV AX,0064H;B8 64 00(機器碼) ADD AX,0100H;05 00 01 MOV 2000H,AX;A3 00 20 執(zhí)行過程為例。 假設 CS=1000H,IP=0100H,DS=1492H,5,8088的指令執(zhí)行過程,6,1操作數的種類 (1)立即數 MOVAX , 100H ; 源操作數100H即為立即數。 (2)寄存器操作數 ADD AX , BX (3)存儲器操作數 MOV AX,100H (4)操作數在端口寄存器中 IN AL,80H (5)隱含的寄存器操作數 DAA 指令中沒有給出操作數,但實際上隱含使用了某些指定的寄存器或段寄存器。,8086尋址方式,7,
3、2有效地址EA 存儲器操作數所給出的偏移地址即為有效地址,簡稱EA。EA是一個16位的無符號數, 代表被尋址的存儲器操作數在存儲器中的位置距該段起點(首單元)的字節(jié)數。 操作數的物理地址=段地址16+EA 例: MOV AX,0100H ;PA=(DS) 16+0100H MOV AX,BX ;PA=(DS) 16+(BX),8,如何根據指令中提供的操作數獲得真正參加操作的數或指令轉移的目標地址,稱尋址方式。,與數據有關的尋址方式,與轉移地址有關的尋址方式,指令的尋址方式分源操作數尋址方式和目標操作數尋址方式,通常指源操作數尋址方式。,3.尋址方式,9,與數據有關的尋址方式:以 MOV指令為例
4、 立即尋址 MOV AX , 3069H 寄存器尋址 MOV AL , BH 直接尋址 MOV AX , 2000H 寄存器間接尋址 MOV AX , BX 寄存器相對尋址 MOV AX , COUNT SI 基址變址尋址 MOV AX , BP DI 相對基址變址尋址 MOV AX , MASK BX SI ,10,(1)立即尋址方式 : 操作數在指令中給出,即指令中的操作數就是參加操作的數。 MOV AL, 5 ;將5這一立即數送寄存器AL中。 MOV BL,0B6H MOV AX, 3069H ;將3069H這一立即數送寄存器AX中。 MOV AL, A ;將41H這一立即數送寄存器AL
5、中。 *立即數只能作為源操作數。,11,(2)寄存器尋址方式: 參加操作的數在指令指定的寄存器中,即寄存器的內容為參加操作的數。 MOV AL, BH;將BH中的值送到寄存器AL中。 MOV AX, BX;將BX中的值送到寄存器AX中。 MOV AX, 3069H指令中的目標操作數也是寄存器尋址。 可使用的寄存器: 16位:AX、BX、CX、DX、SI、DI、BX、BP 8位:AH、AL、BH、BL、CH、CL、DH、DL,12,(3) 直接尋址方式:指令中直接提供參加操作的數所在的有效地址EA(操作數的偏移地址) 。 例:MOV AX, 2000H EA=2000H, 假設(DS)=3000
6、H, 那么PA=32000H,* 隱含的段為數據段 DS * 可使用段跨越前綴 MOV AX, ES: 2000H * 編程時,常用符號地址(變量名)代替操作數的偏移量 如:MOV AX,BUF 或 MOV AX,BUF,50H,30H,32000H,AH AL,(AX) = 3050H,13,(4)寄存器間接尋址:由基址寄存器(BX/BP) 或變址寄存器(SI/DI) 提供參加操作的數所在的有效地址。 MOV AX, BX PA = 16d (DS) + (BX) MOV AX, ES:BX PA = 16d (ES) + (BX) MOV AX, BP PA = 16d (SS) + (B
7、P) *只有SI、DI、BX和BP可作間址寄存器。 MOV AX, CX * SRC 和 DST 的字長一致 ,源操作數為立即尋址時,應指明操作數類型。 MOV DL, BX ; BX指示一個字節(jié)單元 MOV DX, BX ; BX指示一個字單元 MOV BYTE PTRSI,3 ;字節(jié) MOV WORD PTRSI,3 ;字 * 一般用于訪問表格或字符串。,14,(5) 寄存器相對尋址方式:由基址寄存器(BX/BP) 或變址寄存器(SI/DI) 與一偏移量相加作為參加操作的數所在的有效地址。 指令格式: MOV AX, COUNTSI 或 MOV AX, COUNT+SI 設 (DS)=30
8、00H, (SI)=2000H, COUNT=3000H, (35000H)=1234H 則: PA = 35000H (AX)=1234H *也可使用段跨越前綴 MOV AX,ES:COUNTSI *可用于表格或數組數據的訪問,15,操作碼,00 偏移量低,2A 偏移量高,DS 6000,BX 1000,+ DATA 2A00,63A00,63A00H,AH,AL,AX,代碼段,數據段,. . .,. . .,. . .,66H,55H,指令操作例:MOV AX,DATABX,16,(6) 基址變址尋址方式:由一基址寄存器(BX/BP) 和一變址寄存器(SI/DI)相加作為參加操作的數所在的
9、有效地址。 4種組合 指令格式: MOV AX, BX DI MOV AX, BX+DI MOV AX, ES:BX SI *必須是一個基址寄存器和一個變址寄存器的組合 MOV AX, BX BP ;錯誤 MOV AX, SI DI ;錯誤 *可用于表格或數組數據的訪問,有效地址 =,(BX) (SI) (BP) (DI),+,17,( 7 ) 相對基址變址尋址方式:由一基址寄存器(BX/BP) 和一變址寄存器(SI/DI)和偏移量相加作為參加操作的數所在的有效地址。 如: MOV AX, MASK BX SI 或 MOV AX, MASK BX+SI 或 MOV AX, MASK+BX+SI
10、,有效地址 =,(BX) (SI) 8位 (BP) (DI) 16位,+,+,位移量,18,指令操作例:MOV AX,DATADIBX 若(DS)=8000H, (BX)=2000H, (DI)=1000H, DATA=200H 則指令執(zhí)行后AX=5678H,83200,83200H,AH,AL,AX,+ DATA 0200,操作碼,代碼段,數據段,. . .,. . .,. . .,78H,56H,DS 8000,BX 2000,DI 1000,19,段 寄 存 器 的 使 用 規(guī) 定,與轉移地址有關的尋址方式(轉移指令中介紹),段內尋址 段內直接尋址 JMP NEAR PTR NEXT 段
11、內間接尋址 JMP TABLE BX 段間尋址 段間直接尋址 JMP FAR PTR NEXT 段間間接尋址 JMP DWORD PTR BX ,用來確定轉移指令及調用子程序的入口地址。,21,指令按功能分為六大類(133條) 數據傳送指令 算術運算指令 邏輯運算和移位指令 串操作指令 程序控制指令 處理器控制指令,8086指令系統(tǒng),22,重點關注: 指令的匯編格式 指令的基本功能 指令支持的尋址方式 指令的執(zhí)行對標志位的影響 指令的特殊要求,23,1. 數據傳送指令 通用數據傳送指令 MOV、 XCHG 、PUSH、POP 累加器專用傳送指令 IN、OUT、XLAT 地址傳送指令 LEA、L
12、DS、LES 標志寄存器傳送指令 LAHF、SAHF、PUSHF、POPF,24,(1)通用數據傳送指令: MOV DST, SRC,25,注意: * DST、SRC 不能同時為段寄存器 MOV DS, ES * 立即數不能直接送段寄存器 MOV DS, 2000H * DST 不能是立即數和CS * DST、SRC 不能同時為存儲器尋址 * 不影響標志位,26,如: MOV AX,1000H MOV WORD PTR 2000H,1000H MOV BX,1000H MOV AL,BH MOV 1000H,AX MOV DS,AX MOV ES,2000H MOV AX,DS MOV 200
13、0H,SEGREG,27,存儲器與寄存器間數據傳送。,MOV AX,BUF ;BUF是變量,源操作數為直接尋址 MOV BH,DI ;源操作數為寄存器間接尋址 MOV DI,ES:3SI ;源操作數為變址尋址,使用跨段前綴 MOV BP,3BX+SI;源操作數為基址加變址尋址 MOV BUFA,DL ;BUFA是一字節(jié)變量 MOV BP,AX ;使用SS段寄存器 MOV DS:BP,DL;使用跨段前綴 MOV BUF,DS ;BUF是個字變量 MOV ES ,BUF,28,(2) 堆棧(Stack)操作指令 什么是堆棧? 堆棧有兩種形式:一種是硬堆棧,即用寄存器組來實現的。另一種是軟堆棧,即用
14、主存的一部分空間作堆棧。堆棧的運行方式為先進后出或先進先出兩種,先進后出型堆棧的操作數只能從一個口進行讀或寫。堆棧主要用于暫存數據以及在“過程”調用或處理中斷時暫存斷點信息。 堆棧的構造 現在通常采用軟堆棧,由程序設計人員用程序在存儲器中劃出一塊存儲區(qū)作為堆棧。這個存儲區(qū)最大地址的字存儲單元為堆棧底部,叫棧底(Bottom)。在堆棧中存放的數據或斷點信息從這里開始,逐漸向地址小的方向“堆積”。在任何時刻,存放最后一個信息的存儲單元(即已存放信息的最小地址單元)為堆棧頂部,叫棧頂(TOP)。棧頂是隨著存放信息的多少而變的 由于堆棧頂部是浮動的,為了指示現在堆棧中存放數據的位置,通常設置一個指針堆
15、棧指針SP(Stack Pointer),它始終指向堆棧的頂部。,29,8086堆棧的組織 棧底為堆??臻g的高地址單元,棧頂為低地址單元。 數據進棧后,棧頂向低地址方向浮動;數據出棧后,棧頂向高地址方向調整。 一個16位的數據進棧的規(guī)律是:高位字節(jié)存入高地址單元,低位字節(jié)存入低地址單元。 一個16位數據出棧規(guī)律是:低位字節(jié)彈到目標操作數低位,高位字節(jié)彈到目標操作數據高位。 為了指示棧頂的當前位置,用SP存放棧頂的有效地址。 堆棧是按字組織的,即每次在堆棧中存取數據均是兩個字節(jié)。,30,堆棧操作指令 進棧指令: PUSH SRC 執(zhí)行操作: (SP) (SP) 2 ( (SP)+1, (SP)
16、) (SRC) 出棧指令: POP DST 執(zhí)行操作: (DST) ( (SP)+1, (SP) ) (SP) (SP) + 2 堆棧:先進后出的存儲區(qū),段地址存放在SS中, SP在任何時候都指向棧頂,進出棧后自動修改SP。 注意: * 堆棧操作必須以字為單位。 * 不影響標志位 * 不能用立即尋址方式 PUSH 1234H * DST不能是CS POP CS ,31,例:假設 (AX) = 2107 H , 執(zhí)行 PUSH AX,* * * * * * * *,(SP),PUSH AX 執(zhí)行前,(SP),* * * * * * * *,07H 21H,低地址 高地址,PUSH AX 執(zhí)行后,
17、32,(SP),* * * * * * * *,07H 21H,POP BX 執(zhí)行前,(SP),* * * * * * * *,07H 21H,低地址 高地址,POP BX 執(zhí)行后 (BX) = 2107H,例: POP BX,33,例: PUSH AX PUSH BX PUSH CX ;其間用到AX、BX、CX POP AX ; 后進先出 POP BX POP CX AX、BX、CX結果如何呢?,AX、BX、CX分別為CX、BX、AX的值。,34,例: PUSH AX PUSH BX PUSH CX ;此期間使用AX、BX、CX POP CX ; 后進先出 POP BX POP AX AX、
18、BX、CX保持不變。,35,(3) 地址傳送指令 有效地址送寄存器指令: LEA REG, SRC 等效于: MOV REG,OFFSET SRC 執(zhí)行操作: REG SRC 指針送寄存器和DS指令: LDS REG, SRC 執(zhí)行操作: REG (SRC) DS (SRC+2) 相繼二字 寄存器、DS 指針送寄存器和ES指令: LES REG, SRC 執(zhí)行操作: REG (SRC) ES (SRC+2) 相繼二字 寄存器、ES,36,例:LEA BX, BX+SI+0F62H LDS SI, 10H LES DI, BX,40 H 00 H 00 H 30 H,TABLE (DS):100
19、0H,MOV BX, TABLE ; (BX)=0040H MOV BX, OFFSET TABLE ; (BX)=1000H LEA BX, TABLE ; (BX)=1000H LDS BX, TABLE ; (BX)=0040H ; (DS)=3000H LES BX, TABLE ; (BX)=0040H ; (ES)=3000H,注意: * 不影響標志位 * REG 不能是段寄存器,一般是SI、DI、BX 。 * SRC 必須為存儲器尋址方式,37,例:LEA SI,BX與MOV SI,BX的區(qū)別 假設(BX)=1234H,(DS)=2000H,(21234H)=78H,(21235
20、H)=56H。 LEA SI,BX;將寄存器BX的內容作為存儲器的有效地址 送入SI,(SI)=1234H MOV SI,BX;將寄存器BX間接尋址的連續(xù)兩個存儲單元 的內容送入SI 中,(SI)=5678H,38,(4) 標志寄存器傳送指令 標志送AH指令: LAHF(Load AH with Flags) 執(zhí)行操作: (AH) (FLAGS的低字節(jié)) * 不影響標志位 AH送標志寄存器指令: SAHF (Store AH into Flags) 執(zhí)行操作: (FLAGS的低字節(jié)) (AH) * 影響標志低位內容 標志進棧指令: PUSHF 執(zhí)行操作: (SP) (SP) - 2 ( (SP
21、)+1, (SP) ) (FLAGS) * 不影響標志位 標志出棧指令: POPF 執(zhí)行操作: (FLAGS) ( (SP)+1, (SP) ) (SP) (SP) + 2 * 影響標志位,39,(5)數據交換指令,交換指令: XCHG OPR1, OPR2 執(zhí)行操作: (OPR1) (OPR2) XCHG REG,REG;寄存器之間交換 XCHG REG,MEM;寄存器與存儲器之間交換 注意: * 不影響標志位 * 不允許使用段寄存器 * 可字節(jié)操作,也可字操作 例:XCHG BX, BP+SI XCHG AL, BH,40,例: MOVAX,5678H ;(AX)=5678H MOVBX,0FFFFH;(BX)=0FFFFH XCHG AX,BX;(AX)=0FFFFH ,( BX)=5678H,41,(6)換碼指令(查表轉換指令) 換碼指令:XLAT 或XLAT OPR 執(zhí)行操作:(AL) ( (BX) + (AL) ) 例如:內存數據段有一張16進制數的ASCII碼表,設首地址為2000H,如欲查
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年導游資格證考試筆試旅游安全管理沖刺試卷
- 公關部2025年工作總結及2025年工作計劃
- 2025年營養(yǎng)師基礎知識考核試卷:營養(yǎng)師財務管理試題
- 福建幼兒收費管理辦法
- 2025年阿拉伯語等級考試社會法語翻譯試卷
- 2025年法語DELFD22級閱讀理解試卷精講
- 2025年工程測量員(一級)測量設備維護考試試卷
- 2025年鄉(xiāng)村醫(yī)生考試題庫:農村急救技能操作難點解析試卷
- 2025年小學語文畢業(yè)升學模擬試卷(口語表達與未來科技訓練試題)
- 2025年房地產估價師考試房地產估價理論試題集
- 電子物料(電感、電容、芯片、PCB)的來料檢驗項及檢驗方法SIP
- 刑法學(總論)輔導教案
- 非遺資源數據庫建設
- 報案材料范本
- 林地贈與協(xié)議書(2篇)
- 2023四年級數學上冊 1 大數的認識第11課時 用計算器計算教案 新人教版
- 2023年石嘴山市直機關遴選公務員考試真題
- GCP相關人員職責
- CTD申報資料:創(chuàng)新藥IND模塊一-行政文件和藥品信息
- (高清版)JTGT 3331-2024 采空區(qū)公路設計與施工技術規(guī)范
- 2024廣西公需課高質量共建“一帶一路”譜寫人類命運共同體新篇章答案
評論
0/150
提交評論