版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、2.2.1資料傳輸類命令、從一個位置資料傳輸?shù)搅硪粋€位置的14個命令5組1、通用資料傳輸:MOV XCHG XLAT 2、堆棧操作:PUSH POP 3、標志寄存器傳輸:LAHF SAHF PUSHF POPF 4、地址傳輸命令也是最常用的命令類型。傳輸命令將數(shù)據(jù)從一個位置傳輸?shù)搅硪粋€位置。除了圖志寄存器傳輸指令外,不會影響圖志位元集中。MOV推送點尤其熟悉。XCHG XLAT LEA一般理解:在LAHF SAHF PUSHF POPF LDS LES之后擴展:IN OUT、傳輸命令MOV(move)、單字節(jié)或單詞立即寄存器或主內(nèi)存:件2.1、movreg/mem/seg寄存器傳輸(段)寄存器
2、或主內(nèi)存:件2.2、movreg/seg、mem主內(nèi)存寄存器:例2.3例,mobreg/mm,seg分段寄存器發(fā)送寄存器或主內(nèi)存:件2.4,傳輸指令不是萬能的,非法傳輸也不少。示例2.1:立即傳輸數(shù)量,MOV AL,55H MOV AX,55AAH MOV CX,0F943H MOV BYTE PTR BX,12h12hDS:BX MOV WORD PTR BX SI,100h:100 HDS 3360 BX SI,注意:立即數(shù)字為字節(jié)或單詞。也就是說,您可以知道命令是字節(jié)操作還是單詞操作。其他說明,示例2.2:寄存器傳輸、MOV AX、BX MOV AH、BL、示例2.3:存儲傳輸、MOV
3、AX、BX MOV SI、AL MOV SS、2000H MOV ES:DI、CS非法轉(zhuǎn)移,兩個操作數(shù)的類型不匹配。例如,源操作數(shù)是字節(jié),目標操作數(shù)是單詞?;蛘呦喾?,兩個操作數(shù)都不能是存儲傳輸命令,但是主內(nèi)存之間的直接傳輸不允許分段寄存器操作。段寄存器是專用寄存器,受限制的操作能力、實例、實例、實例和兩個操作數(shù)的類型必須匹配。除非另有說明,否則目標操作數(shù)和源操作數(shù)必須匹配。莫卜蛋,050ah無效命令:050Ah是單詞,AL是字節(jié)寄存器,寄存器參與的指令是操作數(shù)類型是寄存器的類型。如果存儲單元和即時計數(shù)同時是操作數(shù),則必須明確表示。Byte ptr表示字節(jié)類型,word ptr表示單詞類型。兩個
4、操作數(shù)都不能是陣列。8086命令系統(tǒng)不能將兩個操作數(shù)都牙齒到存儲單元(串行操作命令除外),并且沒有向主內(nèi)存發(fā)送數(shù)據(jù)。要實現(xiàn)這種傳輸,可以通過寄存器間接實現(xiàn)。范例2.5:buffer1儲存格中的資料位于buffer2儲存格mov ax、buffer 1;發(fā)送到。Axbuffer1(將buffer1內(nèi)容發(fā)送到ax)mov buffer 2,ax;Buffer2ax其中buffer1和buffer2是兩個字母的變量。實際上是指直接尋址方式。段寄存器的操作有一些茄子限制,不能立即傳輸?shù)蕉渭拇嫫鱉OVDS,100H。無效命令:無法立即傳輸段寄存器。不能直接更改CS值MOVCS,SI。不允許的指令不允許段
5、寄存器之間的直接資料傳輸MOVDS,ES。非法命令:允許在段寄存器之間傳輸渡邊杏,更換命令XCHG(exchange),兩個數(shù)據(jù)更換,XCHGReg,Reg/MEM;Regreg/mem,更換命令可以在寄存器和寄存器之間交換數(shù)據(jù)??梢栽诩拇嫫骱蛢?nèi)存之間交換數(shù)據(jù)。例如2.7,示例2.6,Why,示例2.6:寄存器和寄存器數(shù)據(jù)更換,MOV AX,1234H MOV BX,操作,節(jié)目已運行:AX=5678H,BX=1234H,示例2.7:寄存器和存儲數(shù)據(jù)更換,MOV BP,0200H MOV SI,0046H XCHG AX,BP SI此處的BP,相應的段寄存器為SS,設置SS=5000H,存儲設備
6、的物理地址PA=SS * 16 EA=50000H0200H0046H=50246h,發(fā)出命令之前:AX=5621H,(5000h 0200h 0046h)ALds:BX AL:示例2.8,執(zhí)行更改代碼命令之前:在主內(nèi)存中創(chuàng)建字節(jié)表,內(nèi)容為要轉(zhuǎn)換的目標代碼。表中的第一個地址存儲在bx中,al存儲相對于表中第一個地址的位移量,然后運行代碼更改命令。因為al寄存器的內(nèi)容轉(zhuǎn)換為目標代碼的隱式尋址方法(例如2.8),代碼更改命令使用隱式尋址方法。隱式尋址方法使用基本操作數(shù)的尋址方法。是的。范例2.8: 09,將AF的十六進位數(shù)字轉(zhuǎn)換為ASCII程式碼,并顯示. model small . stack
7、. datatabledb 0123456789 ABC def。09,AF的ASCII代碼。代碼。STARTUP MOV BX,OFFSET TABLE MOV AL,10xlatAL=41H,a的ASCII代碼MOV DL,AL MOV AH,02H INT 21H。EXIT 0 END,堆棧操作指令,堆棧的概念堆棧操作:堆棧輸入和堆棧退出功能,push r16/M16/s堆棧命令:Spsp2Ss : SPR 16/M16/seg,流行r16/M16/seg;“堆疊輸出”命令:r16/M16/segss 3360 sp:SPs p2,堆棧是什么?堆棧是“先進先出”的主內(nèi)存區(qū)域,位于堆棧段中
8、,使用SS段寄存器記錄段地址。堆棧只有一個出口,即當前堆棧的頂部。堆棧頂部是由堆棧指針寄存器SP指定的地址較小的端點(底部端點)。圖a中的堆棧是空堆棧。堆棧操作,堆棧只有兩個茄子基本操作:堆棧進入和堆棧退出,以及兩個茄子命令PUSH和POP。請參閱范例2.9和范例2.10。圖B和圖C、堆棧的實例和圖例、MOV AX、1278H PUSH AX、POP AX、操作、堆棧的特征、堆棧操作的單位是一個詞。高地址字節(jié)傳輸高字節(jié)堆棧操作經(jīng)常用于根據(jù)先進先出原則隨機訪問堆棧的數(shù)據(jù)堆棧,以臨時存儲資料傳輸參數(shù)和恢復寄存器(例如2.11,示例進入子例程后pushbx pushds.popds在返回主程序之前,
9、發(fā)送pop bx pop ax、有效地址發(fā)送命令LEA(load EA)、將內(nèi)存操作數(shù)的有效地址發(fā)送到指定寄存器、LEAR16、MEMR16mem的有效地址,例如2.12:有效地址的LEA BX,2000H執(zhí)行BX命令后,將2000H操作數(shù)的偏移地址發(fā)送到:BX=2000H。與MOV BX、2000H的區(qū)別在于將DS: 2000H的內(nèi)容發(fā)送到BX。操作,指針傳輸命令,LDS r16,memR16mem,DSmem 2 LDS命令將主內(nèi)存中的mem指定單詞發(fā)送到r16,將mem中的下一個單詞發(fā)送到DS寄存器、LESR16和mem。R16mem,ESmem 2 LES命令將主內(nèi)存中的mem指定單詞
10、發(fā)送到r16,將mem中的下一個單詞發(fā)送到ES寄存器(例如2.13,示例2.14,示例2.13:ldsbx,ADDRxSI DS=2000H,SI=1000H)執(zhí)行命令后:BX=1040H,DS=4000H,(21020H)=1040H,(21022H)=4000H。操作,例如2.14、LES BX、SI DS=2000H、SI=1000H,存儲操作數(shù)的物理地址為PA=DS * 16=20000H 1000H=21000H,在發(fā)出命令之前設置: (執(zhí)行命令后:BX=1400H,ES=4000H,(21000H)=1400H,(21002H)=4000H。,徽標低字節(jié)訪問AH命令,lahfAHF
11、LAGS的低字節(jié)LAHF命令將標志寄存器的低字節(jié)發(fā)射寄存器AH SF/ZF/AF/PF/CF狀態(tài)標志位分別發(fā)送到AH的7/6/4/2/0位,將AH的5/3/1位隨機,發(fā)送到SAHF。FLAGS中的低字節(jié)AH SAHF將AH寄存器內(nèi)容發(fā)送到FLAGS中的低字節(jié)。將SF/ZF/AF/PF/CF標志設置為AH的7/6/4/2/0位,將標志寄存器設置為出入堆棧命令,PUSHFSpsp2SS:SPFLAGS PUSHF命令將標志寄存器的內(nèi)容推入堆棧,同時從堆棧頂部指針SP中減去2,POPF。flag SSS 3360 sp:SPs p2 POPF命令將堆棧頂部單元格內(nèi)容發(fā)送到標志寄存器,將堆棧頂部指針S
12、P發(fā)送到2,示例2.15,示例2.15:位置單步標志,pushf;將所有標志存儲在堆棧popax堆棧中所有標志or ax,0100h移除。D8=TF=1,Ax其他位不變。push ax;堆棧popf的ax;推入。將堆棧內(nèi)容導入到標志寄存器。FLAGSAX、I/o命令、inal/ax、i8/dx;AL/AXI/O通信端口輸入IN命令將外圍設備數(shù)據(jù)傳輸?shù)紺PU內(nèi)的al/ax、outi8/dx、al/ax。I/O通信端口AL/AX輸出OUT命令將CPU內(nèi)的AL/AX數(shù)據(jù)傳輸?shù)酵鈬O備,8086通過I/O命令傳輸外圍設備和數(shù)據(jù),輸入I/O命令,8086通過I/O命令與外圍設備交換數(shù)據(jù)。提供給程序員的外
13、圍設備是通信端口(Port),即用于尋址I/o地址8086外圍設備通信端口的地址線為16個,端口最多為21665536個(64K),通信端口編號為0000HFFFFH。每個端口1字節(jié)的外圍設備資料傳輸,I/o尋址方法,8086的端口為64k,有兩種直接尋址方法。也就是說,只有00HFFH的前256個端口可尋址,操作數(shù)i8可用于通信端口編號間接尋址:64K個通信端口均可尋址。DX寄存器的值是,對于通信端口編號對大于FFH的端口,只能使用間接尋址方法(例如2.16、Inal、60H)。從通信端口60H讀取1個字節(jié)為AL的INAX,20H。AX MOV DX,2f8h in Al,DX;通信端口20H,21H由“高”構(gòu)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 44554.8-2025電子憑證入賬要求第8部分:電子非稅收入一般繳款書
- 郵政春耕活動策劃方案(3篇)
- 引流活動服裝方案策劃(3篇)
- 冬至系列活動策劃方案(3篇)
- 墳墓搬移施工方案(3篇)
- 冰雹天氣施工方案(3篇)
- 娛樂場所安全管理與防范指南(標準版)
- 汽車維修與服務質(zhì)量規(guī)范指南
- 2025年城市公共交通設施維護操作手冊
- 閱讀識字匯報方案
- 高中教學經(jīng)驗交流課件
- 鋼管桿組立作業(yè)安全培訓課件
- 直播間設計裝修合同范本
- 建設用地報批服務投標方案
- 非靜脈曲張上消化道出血的內(nèi)鏡管理指南解讀課件
- 新生兒消化道出血
- 2025年可愛的中國測試題及答案
- 油費補助管理辦法
- 新食品零售運營管理辦法
- 強制性產(chǎn)品認證實施規(guī)則 低壓電器 低壓元器件(CNCA-C03-02:2024)
- 《實踐論》《矛盾論》導讀課件
評論
0/150
提交評論