微機原理指令匯總_第1頁
微機原理指令匯總_第2頁
微機原理指令匯總_第3頁
微機原理指令匯總_第4頁
微機原理指令匯總_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、.8086/8088指令系統(tǒng)記憶表11月19日第三次更新 來源: 張克終西秦人的日志 我現將指令系統(tǒng)中各種助記符的英文全名寫出來,各種助記符的記憶就會變得很簡單o(_)o.在這之前,先說一下寄存器:數據寄存器分為:AH&ALAX(accumulator):累加寄存器,常用于運算;在乘除等指令中指定用來存放操作數,另外,所有的I/O指令都使用這一寄存器與外界設備傳送數據.BH&BLBX(base):基址寄存器,常用于地址索引;CH&CLCX(count):計數寄存器,常用于計數;常用于保存計算值,如在移位指令,循環(huán)(loop)和串處理指令中用作隱含的計數器.DH&DLDX(data):數據寄存器

2、,常用于數據傳遞。他們的特點是,這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

3、 Pointer)標志寄存器FR(Flag Register)OF(overflow flag)DF(direction flag)CF(carrier flag)PF(parity flag) AF(auxiliary flag)ZF(zero flag)SF(sign flag)IF(interrupt flag)TF(trap flag)段寄存器(Segment Register)為了運用所有的內存空間,8086設定了四個段寄存器,專門用來保存段地址:CS(Code Segment):代碼段寄存器;DS(Data Segment):數據段寄存器;SS(Stack Segment):堆棧段

4、寄存器;ES(Extra Segment):附加段寄存器。第一部分:指令助記符:一、數據傳送指令1.通用數據傳送指令MOV(Move) 傳送PUSH(Push onto the stack) 進棧POP(Pop from the stack) 出棧XCHG(Exchange) 交換2.累加器專用傳送指令IN(Input) 輸入OUT(Output) 輸出XLAT(Translate) 換碼3.有效地址送寄存器指令LEA(Load effective address) 有效地址送寄存器LDS(Load DS with Pointer) 指針送寄存器和DSLES(Load ES with Poin

5、ter) 指針送寄存器和ES4.標志寄存器傳送指令LAHF(Load AH with flags) 標志送AHSAHF(store AH into flags) AH送標志寄存器PUSHF(push the flags) 標志進棧POPF(pop the flags) 標志出棧二、算術指令1.加法指令ADD(add) 加法ADC(add with carry) 帶進位加法INC(increment) 加12.減法指令SUB(subtract) 減法SBB(subtract with borrow) 帶借位減法DEC(Decrement) 減1NEG(Negate) 求補CMP(Compare)

6、 比較3.乘法指令MUL(Unsigned Multiple) 無符號數乘法IMUL(Signed Multiple) 帶符號數乘法4.除法指令DIV(Unsigned divide) 無符號數除法IDIV(Signed divide) 帶符號數除法CBW(Convert byte to word) 字節(jié)轉換為字CWD(Contert word to double word) 字轉換為雙字三、邏輯指令1.邏輯運算指令AND(and) 邏輯與OR(or) 邏輯或NOT(not) 邏輯非XOR(exclusive or) 異或TEST(test) 測試2.移位指令SHL(shift logical

7、 left) 邏輯左移SAL(shift arithmetic left) 算術左移SHR(shift logical right) 邏輯右移SAR(shift arithmetic right) 算術右移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.重復前端指令REP(Repeat) 重復串操作直到(CX)=0為上REPE(Repeat when empty) 若(CX)=0,則退出

8、,否則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) 串傳送指令MOVSW(Move string of word) 串傳送指令CMPSB(Compare string of byte) 串比較指令CMPSW(Compare str

9、ing of word) 串比較指令SCASB(Scan string of byte) 串搜索指令SCASW(Scan string of word) 串搜索指令STOSB(Store string of byte) 存串指令STOSW(Store string of word) 存串指令LODSB(Load string of byte) 取串指令LODSW(Load string of word) 取串指令CLD(Clear direction flag)該指令使DF=0,在執(zhí)行串操作指令時可使地址自動增量;STD(Set direction flag) 該指令使DF=1,在執(zhí)行串操作指

10、令時可使地址自動減量.DAA(Decimal adjust after addition) 組合BCD碼的加法調整指令DAS(Decimal adjust after substract) 組合BCD碼的減法調整指令AAA(ASCII adjust after addition) 非壓縮BCD碼加法調成指令AAS(ASCII adjust after substract) 非壓縮BCD碼減法調成指令AAM(ASCII adjust after multiple) 非壓縮BCD碼乘法調成指令AAD(ASCII adjust after divid) 非壓縮BCD碼除法調成指令五、控制轉移指令1.

11、無條件轉移指令JMP(jmp) 跳轉指令2.條件轉移指令(1)根據單個條件標志的設置情況轉移JZ(或JE)(Jump if zero,or equal) 結果為零(或相等)則轉移JS(Jump if sign) 結果為負則轉移JNS(Jump if not sign) 結果為正則轉移JO(Jump if overflow) 溢出則轉移JNO(Jump if not overflow) 不溢出則轉移JNP(或JPO)(Jump if not parity,or parity odd) 奇偶位為0則轉移JP(或JPE)(Jump if parity,or parity even) 奇偶位為1則轉移

12、JB(或JNAE,JC)(Jump if below,or not above or equal,or carry)低于,或者不高于或等于,或進位位為1則轉移JNB(或JAE,JNC)(Jump if not below,or above or equal,or not carry)不低于,或者高于或者等于,或進位位為0則轉移(2)比較兩個無符號數,并根據比較的結果轉移JB(或JNAE,JC)JNB(或JAE,JNC)JBE(或JNA)(Jump if below or equal,or not above)低于或等于,或不高于則轉移JNBE(或JA)(Jump if not below or

13、 equal,or above)不低于或等于,或者高于則轉移(3)比較兩個帶符號數,并根據比較的結果轉移JL(或LNGE)(Jump if less,or not greater or equal)小于,或者不大于或者等于則轉移JNL(或JGE)(Jump if not less,or greater or equal)不小于,或者大于或者等于則轉移JLE(或JNG)(Jump if less or equal,or not greater)小于或等于,或者不大于則轉移JNLE(或JG)(Jump if not less or equal,or greater)不小于或等于,或者大于則轉移(4

14、)測試CX的值為0則轉移指令JCXZ(Jump if CX register is zero) CX寄存器3.循環(huán)指令LOOP(loop) 循環(huán)指令4.子程序CALL(call) 調用指令RET(return) 返回指令5.中斷INT(interrupt)指令IRET(interrupt return) 從中斷返回指令INTO(interrupt if overflow) 若溢出則中斷六、處理機控制指令1.標志處理指令CLC(Clear carry) 進位位置0指令CF-0CMC(Complement carry) 進位位求反指令CF-CFSTC(Set carry) 進位位置1指令CF-1C

15、LD(Clear direction) 方向標志置0指令DF-0STD(Set direction) 方向標志置1指令DF-1CLI(Clear interrupt) 中斷標志置0指令IF-0STI(Set interrupt) 中斷標志置1指令IF-02.其他處理機控制指令NOP(No Opreation) 無操作HLT(Halt) 停機WAIT(Wait) 等待ESC(Escape) 換碼LOCK(Lock) 封鎖第二部分:偽指令1.符號定義偽指令:EQU. 2.數據定義偽指令:DB(Define Byte):定義字節(jié)DW(Define Word):定義字DD(Define Double):定義雙字DUP(duplication) :重復;復制,復寫3.過程定義偽指令:PROC(Process):4.定位偽指令:ORG(Origin ):.5.常數、變量及標號OFFSET(Offset):偏移量6.表達式和運

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論