




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
微機原理與接口技術2016-2017第二學期馮春暉2017.3.8周三8086的匯編指令系統8086的指令系統包括100多條指令,可分為以下六種類型:數據傳送指令算術運算指令位操作指令串操作指令程序控制指令處理器控制指令數據傳送指令數據傳送指令負責把數據、地址或立即數傳送到寄存器或存儲單元中。通用傳送指令MOV(Move)數據傳送指令格式:MOV
dst,src
dstsrc說明reg1reg2reg1不能是CSregimreg不能是CS,DS,ES和SSregmreg不能是CSmimmregreg為寄存器操作數,m為存儲器操作數,im為立即數。MOV指令傳送方向PUSH(Pushontothestack)進棧指令格式:PUSH
src操作:(SP)←(SP)-2((SP)+1,(SP))←src說明:PUSH指令只能是字(16位)操作。src可以是‘reg’、‘m’,但不能是‘im’。例:PUSHAXPUSHCSPUSH[SI]XX低地址棧頂SS→···XX…未進棧單元…已進棧單元高地址SP→棧頂12H未進棧單元已進棧單元SP→XX···XX低地址SS→…高地址34HMOVAX1234HPUSHAX…POP(Popfromstack)出棧指令格式:POP
dst操作:dst←((SP)+1,(SP)),(SP)←(SP)+2說明:POP指令只能字(16位)操作dst可以是‘m’,‘reg’,但不能是CS、‘im’。PUSH,POP指令不影響標志位棧頂未進棧單元已進棧單元SP→12HXX···XX低地址SS→…高地址34HPOPBX棧頂12H未進棧單元已進棧單元SP→XX···XX低地址SS→…高地址34H(BX)=1234HXCHG(Exchange)數據交換指令格式:
XCHG
OPR1,OPR2操作:
(OPR1)←→(OPR2)OPR1,OPR2是兩個操作數。它們可以是寄存器或存儲器,但二者中必有一個是寄存器。不允許使用段寄存器。指令允許字或字節操作。不影響標志位。累加器專用傳送指令XLAT(Translate)換碼指令格式:
XLAT操作:
(AL)←(BX+AL)EA=BX+AL將數據段中一個存儲單元的內容送到ALIN(Input)輸入指令直接尋址方式格式:
IN
AL,PORT;(字節)
IN
AX,PORT;(字)操作:字節
(AL)←(PORT)
字(AX)←(PORT+1,PORT)PORT是I/O端口地址(0~255)間接尋址方式格式:
IN
AL,DX;(字節)
IN
AX,DX;(字)操作:字節(AL)←(DX)
字(AX)←(DX+1,DX)OUT(Output)輸出指令直接尋址方式格式:
OUT
PORT,AL;(字節)
OUT
PORT,AX;(字)操作:字節(PORT)←(AL)字(PORT+1,PORT)←(AX)間接尋址方式格式:OUT
DX,AL;(字節)
OUT
DX,AX;(字)操作:字節(DX)←(AL)字(DX+1,DX)←(AX)IN和OUT(輸入輸出)指令專用于CPU與外設(I/O端口)之間傳送信息。無論輸入或輸出,數據必須經由累加器(AX或AL)傳送。直接尋址方式的指令只能尋址256個I/O端口(端口號:0~255或0~FFH)。間接接尋址方式的指令可以尋址64K個I/O端口(端口號:0~65535或0~FFFFH)。IN和OUT指令提供了字與字節兩種使用方式,選用哪一種,取決于外設端口的寬度。[例]
INAX,28HMOVDATA_WORD,AX把端口28H的內容經AX傳送到存儲單元DATA_WORD中。[例]
MOVDX,3FCHINAX,DX從端口03FCH取一個字送到AX寄存器。[例]OUT5,AL
從AL寄存器輸出一個字節到端口5。目的地址傳送指令LEA(Loadeffectiveaddress)取有效地址指令格式:
LEA
reg16,mem操作:把源操作數的有效地址(EA),傳送到目標寄存器(reg16)中。源操作數mem必須是內存操作數。reg16必須是一個16位的通用寄存器例
LEABX,BUFFERMOVBX,BUFFER前者是把BUFFER的有效地址‘EA’傳送給BX,后者把存儲單元BUFFEER的內容傳送給BX。LEADX,[BX]MOVAX,[BX]若(BX)=0400H,DS=2000H,(20400H)=0402H則(DX)=0400H(AX)=0402H例
LEABX,MAX[BX][SI]若執行前:
(BX)=0400H,(SI)=003CH,MAX=0F62H源操作數的有效地址為
EA=0400+003C+0F62=139EH指令執行后:
(BX)=139EHLDS(LoadDSwithpointer)指針送寄存器和DS格式:
LDS
reg16,mem操作:
(reg16)←(mem)
(DS)←(mem+2)存儲器…………DSreg16highlowLES
(LoadESwithpointer)指針送寄存器和ES格式:
LES
reg16,mem操作:
(reg16)←(mem),(ES)←(mem+2)存儲器…………ESreg16highlow源操作數mem是32位的內存操作數。目的操作數reg16是16位的通用寄存器。本指令將源操作數指定的存儲器中的4個連續單元(4字節)傳送給指定的reg16和DS/ES,低2位字節給reg16,高2位字節給DS/ES。LEA、LDS、LES三條指令不影響標志位。存儲器…………highlow[例]
LDSSI,[10H]若指令執行前(DS)=C000H,(SI)=0010H,(C0010H)=0180H,(C0012H)=2000H則指令執行后(SI)=0180H,(DS)=2000H。DSSI80H20H00H01H例:LESDI,[BX]若指令執行前(DS)=B000H,(BX)=080AH,(B080AH)=05AEH,(B080CH)=4000H,則指令執行后
(DI)=05AEH,(ES)=4000H。存儲器…………highlowESDIAEH40H00H05H標志傳送指令LAHF(LoadAHwithflags)標志送AH指令格式:
LAHF操作:
(AH)←(FLAG的低字節位)只傳送了SF,ZF,AF,PF,CF五個標志位標志傳送指令SAHF(StoreAHintoflags)AH送標志寄存器指令
格式:SAHF操作:(FLAG的低字節)←(AH)PUSHF(Pushtheflags)標志進棧指令格式:
PUSHF操作:
(SP)←(SP)-2((SP)+1,(SP))←(FLAG)POPF(Poptheflags)標志出棧指令格式:
POPF操作:
(FLAG)←((SP)+1,(SP))(SP)←(SP)+2LAHF和PUSHF不影響標志位,SAHF和POPF則由裝入的值來確定標志位。算術指令加法指令ADD(add)加法格式:ADD
dst,src操作:(dst)←(src)+(dst)ADC(addwithcarry)帶進位加法格式:ADC
dst,src操作:(dst)←(src)+(dst)+CFINC(increment)加1格式:INC
dst操作:(dst)←(dst)+1說明:目的操作數dst可以是寄存器或存儲器操作數。源操作數src可以是寄存器、存儲器操作數或立即數。源與目的操作數不能同為存儲器操作數。不允許段寄存器參與運算。以上三條指令可以是字節(8位)操作,也可以是字(16位)操作。三條指令對狀態標志位產生影響,但INC指令對CF位無影響。例如:ADDCL,10ADCDX,SIADDAX,MEMADCALPHA[DI],30HINCSI以上指令皆合法。[例]
MOVAL,7EHMOVBL,5BHADDAL,BL指令執行后,(AL)=7EH+5BH=D9H各狀態標志位為:SF=1,ZF=0,AF=1,PF=0,CF=0,OF=17E011111105B01011011D911011001減法指令SUB
(subtract)減法格式:SUB
dst,src操作:(dst)←(dst)-(src)SBB(subtractwithborrow)帶借位減法格式:SBB
dst,src操作:
(dst)←(dst)-(src)-CF其中,CF為借位的值DEC(Decrement)減1格式:DEC
dst操作:
(dst)←(dst)-1CMP
(Compare)比較格式:CMP
dst,src操作:(dst)-(src),CMP不保存運算結果,但影響狀態標志位。NEG(Negate)求補格式:
NEG
dst操作:
(dst)←0-(dst),或取反+1操作數為0時,NEG指令使CF=0,其余情況CF均為1;字節運算對-128求補、字運算對-32768求補時OF=1,其余情況OF均為0。[例]MOVAX,0013H;
AX=0013H
;AL=00010011BNEGAL;AL=11101101B=EDH;CF=1,OF=0MOVBX,8F5AH;
BX=8F5AH
;BX=1000111101011010NEGBX; ;BX=0111000010100110;BX=?70A6?H ;CF=1,OF=0NEGAH;AH=00H ;CF=0,OF=0[例]
內存數據存放了100個帶符號數,首地址為AREA1,要求將各數取絕對值后存入以AREA2為首地址的內存區。由于100個帶符號數中可能既有正數,又有負數,因此先要判斷正負。如為正數,可以原封不動的傳送到另一內存區;如為負數,則須先求補即可得到負數的絕對值,然后再傳送。程序如下:
LEASI,AREA1;(SI)←原地址指針
LEADI,AREA2;(DI)←目的地址指針
MOVCX,100;(CX)←循環次數CHECK:MOVAL,[SI];取一個帶符號數到AL
CMPAL,0;AL內容不變,但影響標志
JNSNEXT;若(SF)=0,則轉NEXTNEGAL;否則求補NEXT:MOV[DI],AL;傳送到目的地址
INCSI;源地址加1
INCDI;目的地址加1
DECCX;循環次數減1
JNZCHECK;如不等于零,則轉CHECKHLT;停止
[例]
SUB[SI+14H],0316H
指令執行前(DS)=3000H,(SI)=0040H,(30054H
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年注會考試參加指南試題及答案
- 回顧常見問題2024年體育經紀人資格試題及答案
- 大班社會教育《我長大了》教案
- 正常分娩婦女的護理
- 目標導向的2024年籃球裁判員考試試題及答案
- 目標明確2025年證券從業資格證考試試題及答案
- 靜物臨摹考試題目及答案
- 火把節舞蹈課程介紹
- 模具設計師考生必知復習試題及答案
- 項目管理成果展示試題及答案
- 2024年移動網格經理(認證考試)備考試題庫大全-下判斷題匯
- 網絡傳播概論(第5版)課件 第5、6章 智能時代與智能傳播走向、網絡傳播與網絡空間中的人
- 黑龍江省機關事務管理局所屬事業單位招聘筆試真題2023
- 2024-2030年中國軍用掩蔽系統行業市場發展趨勢與前景展望戰略分析報告
- 不緊繃的人生讀書筆記
- 百融云創風險決策引擎V5產品操作手冊
- DB22-T5143-2023城鎮道路薄層罩面技術標準
- 《中國心力衰竭診斷和治療指南2024》解讀(總)
- 中學生心理咨詢記錄30篇匯編
- 電纜維修施工合同范本
- 順豐控股成本控制現狀及問題分析
評論
0/150
提交評論