微機原理與接口技術(shù)指令記憶表.docx_第1頁
微機原理與接口技術(shù)指令記憶表.docx_第2頁
微機原理與接口技術(shù)指令記憶表.docx_第3頁
微機原理與接口技術(shù)指令記憶表.docx_第4頁
微機原理與接口技術(shù)指令記憶表.docx_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

微機原理與接口技術(shù)8086/8088指令記憶表寄存器:數(shù)據(jù)寄存器分為:AH&ALAX(accumulator):累加寄存器,常用于運算;在乘除等指令中指定用來存放操作數(shù),另外,所有的I/O指令都使用這一寄存器與外界設(shè)備傳送數(shù)據(jù).BH&BLBX(base):基址寄存器,常用于地址索引;CH&CLCX(count):計數(shù)寄存器,常用于計數(shù);常用于保存計算值,如在移位指令,循環(huán)(loop)和串處理指令中用作隱含的計數(shù)器.DH&DLDX(data):數(shù)據(jù)寄存器,常用于數(shù)據(jù)傳遞。他們的特點是,這4個16位的寄存器可以分為高8位: AH, BH, CH, DH.以及低八位:AL,BL,CL,DL。這2組8位寄存器可以分別尋址,并單獨使用。另一組是指針寄存器和變址寄存器,包括:SP(Stack Pointer):堆棧指針,與SS配合使用,可指向目前的堆棧位置;BP(Base Pointer):基址指針寄存器,可用作SS的一個相對基址位置;SI(Source Index):源變址寄存器可用來存放相對于DS段之源變址指針;DI(Destination Index):目的變址寄存器,可用來存放相對于 ES 段之目的變址指針。指令指針I(yè)P(Instruction Pointer)標志寄存器FR(Flag Register)OF(overflow flag) 溢出則=1DF(direction flag)CF(carrier flag) 第四位借第三位=1PF(parity flag)AF(auxiliary flag)ZF(zero flag) =0則=1SF(sign flag)IF(interrupt flag)TF(trap flag)段寄存器(Segment Register)為了運用所有的內(nèi)存空間,8086設(shè)定了四個段寄存器,專門用來保存段地址:CS(Code Segment):代碼段寄存器;DS(Data Segment):數(shù)據(jù)段寄存器;SS(Stack Segment):堆棧段寄存器;ES(Extra Segment):附加段寄存器。第一部分:指令助記符:一、數(shù)據(jù)傳送指令 1.通用數(shù)據(jù)傳送指令 MOV(Move) 傳送 PUSH(Push onto the stack) 進棧a) 高字節(jié) SP-1 低字節(jié)SP-2 SP =SP-2b) PUSHA PUSHAD PUSHF PUSHFD POP(Pop from the stack) 出棧 a) 低字節(jié) SP高字節(jié)SP+1 SP =SP+2 B) POPAD POPA POPFD POPF XCHG(Exchange) 交換 2.累加器專用傳送指令 IN(Input) 輸入 OUT(Output) 輸出 XLAT(Translate) 換碼 DS:AL+BX=AL 3.有效地址送寄存器指令 LEA(Load effective address) 有效地址送寄存器 LDS(Load DS with Pointer) 指針送寄存器和DS LES(Load ES with Pointer) 指針送寄存器和ES 4.標志寄存器傳送指令 LAHF(Load AH with flags) 標志寄存器8位送AH SAHF(store AH into flags) AH送標志寄存器8位 PUSHF(push the flags) 標志進棧 POPF(pop the flags) 標志出棧二、算術(shù)指令 1.加法指令 ADD(add) 加法 ADC(add with carry) 帶進位加法 INC(increment) 加1 2.減法指令 SUB(subtract) 減法 SBB(subtract with borrow) 帶借位減法 DEC(Decrement) 減1 CMP(Compare) 比較 只改變標志位,不改變目的操作數(shù) 3.乘法指令 MUL(Unsigned Multiple) 無符號數(shù)乘法A) 8位乘法,內(nèi)容放在AXB) 16位乘法,內(nèi)容放在DX(高位)AX(低位) IMUL(Signed Multiple) 帶符號數(shù)乘法 乘法不允許使用立即數(shù),除非是帶符號的立即數(shù)乘法。 4.除法指令 DIV(Unsigned divide) 無符號數(shù)除法 IDIV(Signed divide) 帶符號數(shù)除法A) 8位商AL余數(shù)AHB) 16位商AX余數(shù)DXC) 除以0,或者溢出均錯誤 CBW(Convert byte to word) 字節(jié)轉(zhuǎn)換為字(有符號數(shù)) CWD(Contert word to double word) 字轉(zhuǎn)換為雙字(有符號數(shù))三、邏輯指令 1.邏輯運算指令 AND(and) 邏輯與 OR(or) 邏輯或 NOT(not)2的補碼 邏輯非 NEG 1的補碼 XOR(exclusive or) 異或 TEST(test) 只改變標志寄存器的狀態(tài)的AND 測試 2.移位指令 SHL(shift logical left) 邏輯左移 SAL(shift arithmetic left) 算術(shù)左移 SHR(shift logical right) 邏輯右移 SAR(shift arithmetic right) 算術(shù)右移 邏輯移位用于無符號數(shù) 算術(shù)移位用于有符號數(shù) ROL(Rotate left) 循環(huán)左移 ROR(Rotate right) 循環(huán)右移 RCL(Rotate left through carry) 帶進位循環(huán)左移 RCR(Rotate right through carry) 帶進位循環(huán)右移四、串處理指令 1.重復(fù)前端指令 REP(Repeat) 重復(fù)串操作直到(CX)=0為上 REPE(Repeat when empty) 若(CX)=0,則退出,否則CX=CX+1; REPZ(Repeat when flag ) 若ZF=0,則退出,否則CX=CX+1; REPC(Repeat when carry flag)REPNE(Repeat when not empty) REPNZ(Repeat when not zero flag) REPNC(Repeat when not carry flag) 2.串操作指令 MOVSB (Move string of byte) ES:DI=ES:SI DI=DI+1/-1 串傳送指令 MOVSW(Move string of word)ES:DI=ES:SI DI=DI+2/-2 串傳送指令 STOSB(Store string of byte) from al 存串指令 STOSW(Store string of word) from ax 存串指令 LODSB(Load string of byte) in al 取串指令 LODSW(Load string of word) in ax 取串指令 CLD(Clear direction flag)該指令使DF=0,在執(zhí)行串操作指令時可使地址自動增量; STD(Set direction flag) 該指令使DF=1,在執(zhí)行串操作指令時可使地址自動減量. INSB ES:DI=DX 串輸入 OUTSB DX = ES:DI 串輸出 DAA(Decimal adjust after addition)組合BCD碼的加法調(diào)整指令 DAS(Decimal adjust after substract)組合BCD碼的減法調(diào)整指令 MOVSX 8位轉(zhuǎn)換16位數(shù)字 無符號用0填充 MOVZX 有符號用符號位填充 CMPSB(Compare string of byte) 存儲單元和存儲單元 串比較指令 SCASB(Scan string of byte) 存儲單元和AX 串搜索指令五、控制轉(zhuǎn)移指令 1.無條件轉(zhuǎn)移指令 JMP(jmp) 跳轉(zhuǎn)指令 2.條件轉(zhuǎn)移指令 (1)根據(jù)單個條件標志的設(shè)置情況轉(zhuǎn)移 JZ(或JE)(Jump if zero,or equal) 結(jié)果為零(或相等)則轉(zhuǎn)移 JS(Jump if sign) 結(jié)果為負則轉(zhuǎn)移 JNS(Jump if not sign) 結(jié)果為正則轉(zhuǎn)移 JO(Jump if overflow) 溢出則轉(zhuǎn)移 JNO(Jump if not overflow) 不溢出則轉(zhuǎn)移 JNP(或JPO)(Jump if not parity,or parity odd) 奇偶位為0則轉(zhuǎn)移 JP(或JPE)(Jump if parity,or parity even) 奇偶位為1則轉(zhuǎn)移 JB(或JNAE,JC)(Jump if below,or not above or equal,or carry)低于,或者不高于或等于,或進位位為1則轉(zhuǎn)移 JNB(或JAE,JNC)(Jump if not below,or above or equal,or not carry)不低于,或者高于或者等于,或進位位為0則轉(zhuǎn)移 (2)比較兩個無符號數(shù),并根據(jù)比較的結(jié)果轉(zhuǎn)移 JB(或JNAE,JC) JNB(或JAE,JNC) JBE(或JNA)(Jump if below or equal,or not above)低于或等于,或不高于則轉(zhuǎn)移 JNBE(或JA)(Jump if not below or equal,or above)不低于或等于,或者高于則轉(zhuǎn)移 (3)比較兩個帶符號數(shù),并根據(jù)比較的結(jié)果轉(zhuǎn)移 JL(或LNGE)(Jump if less,or not greater or equal)小于,或者不大于或者等于則轉(zhuǎn)移 JNL(或JGE)(Jump if not less,or greater or equal)不小于,或者大于或者等于則轉(zhuǎn)移 JLE(或JNG)(Jump if less or equal,or not greater)小于或等于,或者不大于則轉(zhuǎn)移 JNLE(或JG)(Jump if not less or equal,or greater)不小于或等于,或者大于則轉(zhuǎn)移 (4)測試CX的值為0則轉(zhuǎn)移指令 JCXZ(Jump if CX register is zero) CX寄存器 3.循環(huán)指令 LOOP(loop) CX=0 循環(huán)指令 4.子程序 CALL(call) 將下一條指令的偏移地址壓棧 調(diào)用指令 RET(return) 返回指令 5.中斷 INT(interrupt)指令 4個字節(jié)=IP SI IRET(interrupt return) 從中斷返回指令 INTO(interrupt if overflow) 若溢出則中斷六、處理機控制指令 1.標志處理指令 CLC(Clear carry) 進位位置0指令CF-0 CMC(Complement carry) 進位位求反指令CF-CF STC(Set carry) 進位位置1指令CF-1 CLD(Clear direction) 方向標志置0指令DF-0 STD(Set direction) 方向標志置1指令DF-1 CLI(Clear interrupt) 中斷標志置0指令I(lǐng)F-0 STI(Set interrupt) 中斷標志置1指令I(lǐng)F-0 2.其他處理機控制指令 NOP(No Opreation) 無操作 HLT(Halt) 停機 WAIT(Wait) 等待 ESC(Escape) 換碼 LOCK(Lock) 封鎖第二部分:偽指令1.

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論