版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
苗清影qymiao@80X86微處理器的指令系統(tǒng)格式:XCHGdest,src; (dest)(src)執(zhí)行操作:把一個字節(jié)或一個字的源操作數(shù)與目的操作數(shù)相交換。可以實現(xiàn):寄存器之間,寄存器和存儲器之間注意:存儲器之間不能交換,兩個操作數(shù)中必須有一個在寄存器;段寄存器不能作為一個操作數(shù);允許字或字節(jié)操作,不影響標志位。交換指令(Exchange) XCHGBL,DL XCHGAX,SI XCHGCOUNT[DI],AX XCHG[BX],[DI] XCHGDS,AX應用實例例一:BL=88H,CL=17H,AX=2500H,DX=0100H XCHGAX,DX XCHGBL,CL DX=? CL=?例二:BX=6F30H,BP=0200H,SI=0046H,SS=2FOOH, (2F246H)=4154H XCHGBX,[BP+SI] BX=? (2F246H)=?結果為:AX=0100H DX=2500H CL=88HBX=4154H (2F246H)=6F30H應用實例格式:XLATstr_table;(AL)←((BX)+(AL))
或XLAT str_table—表格符號地址(首地址),只是為了提高可讀性而設置,匯編時仍用BX。
XLAT換碼指令
先建立一個字節(jié)表格;表格首偏移地址存入BX;需要轉換代碼的序號(相對與表格首地址位移量)存入 AL;表中第一個元素的序號為0)執(zhí)行XLAT指令后,表中指定序號的元素存于AL中。
(AL)為轉換的代碼。XLAT換碼指令若把字符的掃描碼轉換成ASCII碼;或數(shù)字0~9轉換成7段數(shù)碼所需要的相應代碼(字形碼)等就要用XLAT指令。例:內(nèi)存的數(shù)據(jù)段中有一張十六進制數(shù)字的ASCII碼表。
首地址為:Hex_table,欲查出表中第10個元素(‘A’)。XLAT指令實例執(zhí)行指令序列:MOVBX,OFFSETHex_tableMOVAL,0AHXLATHex_table假設:(DS)=F000H,
Hex_table=0040H (AL)=0AH執(zhí)行XLAT以后:(AL)=41H=(F004AH), 即“A”的ASCII碼。30H31H32H...39H41H42H...46H...Hex_tableHex_table+1Hex_table+2Hex_table+0AHHex_table+0BHHex_table+0FH'F''B''A''9''1''2''0'16進制數(shù)的ASCII碼表XLAT指令實例例:
BX=4040H, AL=0AH, DS=F000A, (F404AH)=20H XLAT AL=?
物理地址=?答案:
AL=20H
物理地址=F0000H+4040H+0AH=F404AHXLAT指令實例1、IN(Inputbyteorword)2、OUT(Outputbyteorword)
輸入指令用于CPU從外設端口接受數(shù)據(jù),輸出指令用于CPU向外設端口發(fā)送數(shù)據(jù)。無論接受還是發(fā)送數(shù)據(jù),必須通過累加器AX或AL,又稱累加器專用傳送指令。輸入、輸出指令不影響標志位。輸入輸出指令每個外設要占幾個端口:數(shù)據(jù)口,狀態(tài)口和控制口。輸入輸出指令信息交換要通過端口在IBMPC機里,可以配接許多外部設備,每個外設與CPU之間交換數(shù)據(jù),狀態(tài)信息和控制命令,每一種信息交換都要通過一個端口來進行。端口數(shù):外部設備最多有65536個I/O端口。A0~A15譯碼形成。端口號:端口號(即外設端口地址)為0000H~FFFFH。PC機僅使用A0~A9譯碼形成I/O口地址,即1024H個口地址,端口號:0000H~03FFH,其中:A9=1,表示擴充槽上的口地址。輸入輸出指令長格式:端口號中前256個端口(0~FFH),可以直接寫在指令中,這就是長格式。端口號代替指令中的PORT,機器指令用二字節(jié)表示,第二字節(jié)就是端口號。短格式:當端口號≥256時,只能使用短格式,必須先把端口號放到DX寄存器中。不需要用任何段寄存器來修改它的值。輸入輸出指令格式:INacc,port;(acc)(port)具體形式有四種:
INAL,data8;端口地址8位,輸入一個字節(jié)
INAX,data8;端口地址8位,輸入一個字
INAL,DX ;端口地址16位,輸入一個字節(jié)
INAX,DX ;端口地址16位,輸入一個字
必須通過累加器AX(字)或AL(節(jié))輸入數(shù)據(jù)。IN輸入指令格式:OUTport,acc;(port)(acc)具體形式有四種:OUTdata8,AL;端口地址8位,輸出一個字節(jié)OUTdata8,AX;端口地址8位,輸出一個字OUTDX,AL;
端口地址16位,輸出一個字節(jié)OUTDX,AX;
端口地址16位,輸出一個字必須通過累加器AX(字)或AL(節(jié))輸出數(shù)據(jù)。OUT輸出指令例1:實現(xiàn)(29H)(28H)→(DATA_WORD) INAX,28H MOVDATA_WORD,AX例2:從端口3FCH送一個字到AX寄存器
MOVDX,3FCH INAX,DX; (AL)←(3FCH),(AH)←(3FDH)
例3:實現(xiàn)將(AL)→(05H) OUT05H,AL;(05H)←(AL)應用舉例
地址指針寫入指定寄存器或寄存器對指令。
1、LEA(LoadEffectiveAddress) 2、LDS(LoadpointerusingDS) 3、LES(LoadpointerusingES)目的地址傳送指令格式:LEAreg16,mem16;EA(reg16)功能:加載有效地址,用于寫近地址指針。把指令中指定的存儲器操作數(shù)有效地址裝入指定的寄存器。例:設(BX)=0400H,(SI)=003CH LEABX,[BX+SI+0F62H]執(zhí)行指令后:EA= ? (BX)=?EA=(BX)+(SI)+0F62H=0400H+003CH+0F62H=139EH(BX)=139EHLEA(LoadEffectiveAddress)(DS)=3000H;BUFFER=1000H(31000H)=0040H1.LEA指令與MOV的區(qū)別LEABX,BUFFER;(BX)=1000HMOVBX,BUFFER;(BX)=0040HLEA指令與MOV等價LEABX,BUFFER;(BX)=1000HMOVBX,OFFSETBUFFER;(BX)=1000H2.LEA指令中的目標寄存器必須是16位的通用寄存器,源操作數(shù)必須是一個存儲器。應用舉例格式:LDSreg16,mem32;(reg16)←(EA) (DS)←((EA)+2))功能:將指令指定32位地址指針送指令指定寄存器和DS。將指令指定mem32單元的前兩個單元內(nèi)容(16位偏移量)裝入指定通用寄存器,把后兩個單元內(nèi)容(段地址)裝入到DS段寄存器。LDS(LoadpointerusingDS)假設:(DS)=C000H指令: LDSSI,[0010H]執(zhí)行指令后:(SI)=?(DS)=?
(SI)=0180H(DS)=2000H應用舉例假設:
(DS)=0110H (0110H)=0780H (01112H)=2090H指令: LDSSI,[0010H]
(SI)=? (DS)=?
執(zhí)行指令后:(SI)=0780H(DS)=2090H應用舉例格式:LESreg16,mem32;(reg16)←(EA) (ES)←((EA)+2))功能:把源操作數(shù)指定的4個相繼字節(jié)送指令指定的寄存器 及ES寄存器中。此指令常常指定DI寄存器。將指令指定mem32單元的前兩個單元內(nèi)容(16位偏移量)裝入指定通用寄存器,把后兩個單元內(nèi)容(段地址)裝入到ES段寄存器。LES(LoadpointerusingES)假設:
(DS)=B000H (BX)=080AH指令: LESDI,[BX]執(zhí)行指令后:(DI)=? (ES)=?(DI)=05A2H(ES)=4000H應用舉例(DS)=5000HTABLE=1000H分析下列指令執(zhí)行結果:
MOVBX,TABLEMOVBX,OFFSETTABLELEABX,TABLELESBX,TABLELDSBX,TABLE應用舉例(DS)=5000HTABLE=1000H指令執(zhí)行結果:
MOVBX,TABLE;(BX)=0040HMOVBX,OFFSETTABLE;(BX)=1000HLEABX,TABLE;(BX)=1000HLESBX,TABLE;(BX)=0040H,(ES)=3000HLDSBX,TABLE;(BX)=0040H,(DS)=3000H應用舉例采用了隱含寄存器(AH、Flags)操作數(shù)方式。8086有四條標志傳送操作指令:1.LAHF(LoadAHintoflags)2.SAHF(StoreAHintoflags)3.PUSHF(Pushflagsontostack)4.POPF(Popflagsoffstack)
標志傳送指令1.LAHF(LoadAHflags)格式:LAHF;(AH)←(PSW的低字節(jié))功能:標志寄存器低八位(AH)LAHF指令操作圖示意2.SAHF(StoreAHintoflags)
格式:SAHF;(PSW的低字節(jié))←(AH)
功能:(AH)送標志寄存器低八位。3.PUSHF(Pushflagsontostack)
格式:PUSHF;(SP)←(SP)-2 ((SP)+1,(SP))←(PSW)
功能:標志進棧。4.POPF(Popflagsoffstack)
格式:POPF;(PSW)←((SP)
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度新能源汽車充電樁安裝與維護勞動合同3篇
- 2024年酒店床墊設計與生產(chǎn)合同
- 二零二五年度品牌形象授權合同6篇
- 2025機器設備轉讓合同范文
- 2025年度搬遷工程物資采購合同3篇
- 疼痛護理查房
- 2024年汕頭房產(chǎn)買賣代理居間合同
- 2025年度水電站施工合同:水電站建設期項目管理與協(xié)調(diào)服務3篇
- 2025版智能工廠生產(chǎn)線設備采購合同2篇
- 2025版按揭房產(chǎn)買賣合同法律援助范本3篇
- 延期留用崗位協(xié)議書模板
- 借條的正規(guī)模板(2024版)
- 2024包鋼(集團)公司招聘941人高頻考題難、易錯點模擬試題(共500題)附帶答案詳解
- 人教PEP版小學英語六年級上冊Unit1-6單元單元檢測試卷(含聽力材料)
- 銷售合同編號規(guī)則(2024版)
- 2024至2030年中國生活權益卡券行業(yè)發(fā)展監(jiān)測及投資戰(zhàn)略研究報告
- 大學美育-美育賞湖南智慧樹知到期末考試答案章節(jié)答案2024年湖南高速鐵路職業(yè)技術學院
- 數(shù)據(jù)結構期末考試題及答案
- 2024-2025學年度第一學期小學一年級語文教學計劃及進度表
- 中國腦卒中防治指導規(guī)范(2021 年版)
- 廣州市番禺區(qū)2022-2023學年七年級上學期期末統(tǒng)考英語試題
評論
0/150
提交評論