青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-380  評論-37  文章-0  trackbacks-0

一、數據傳送指令
1.通用數據傳送指令
MOV(Move)傳送
PUSH(Push onto the stack)進棧
POP(Pop from the stack)出棧
XCHG(Exchange)交換
.MOV指令
格式為: MOV   DST,SRC
執行的操作:(DST)<-(SRC)
.PUSH進棧指令
格式為:PUSH   SRC
執行的操作:(SP)<-(SP)-2
            ((SP)+1,(SP))<-(SRC)
.POP出棧指令
格式為:POP   DST
執行的操作:(DST)<-((SP+1),(SP))
            (SP)<-(SP)+2
.XCHG 交換指令
格式為:XCHG   OPR1,OPR2
執行的操作:(OPR1)<-->(OPR2)

2.累加器專用傳送指令
IN(Input)   輸入
OUT(Output)   輸出
XLAT(Translate)   換碼
這組指令只限于使用累加器AX或AL傳送信息.
.IN 輸入指令
長格式為:     IN   AL,PORT(字節)
      IN   AX,PORT(字)
執行的操作:   (AL)<-(PORT)(字節)
              (AX)<-(PORT+1,PORT)(字)
短格式為:     IN   AL,DX(字節)
              IN   AX,DX(字)
執行的操作:   AL<-((DX))(字節)
              AX<-((DX)+1,DX)(字)
.OUT 輸出指令
長格式為:     OUT   PORT,AL(字節)
              OUT    PORT,AX(字)
執行的操作:   (PORT)<-(AL)(字節)
              (PORT+1,PORT)<-(AX)(字)
短格式為:     OUT   DX,AL(字節)
              OUT   DX,AX(字)
執行的操作:   ((DX))<-(AL)(字節)
              ((DX)+1,(DX))<-AX(字)
     在IBM-PC機里,外部設備最多可有65536個I/O端口,端口(即外設的端口地址)為0000~FFFFH.其中前256個端口(0~FFH)可以直接在指令中指定,這就是長格式中的PORT,此時機器指令用二個字節表示,第二個字節就是端口號.所以用長格式時可以在指定中直接指定端口號,但只限于前256個端口.當端口號>=256時,只能使用短格式,此時,必須先把端口號放到DX寄存器中(端口號可以從0000到0FFFFH),然后再用IN或OUT指令來 傳送信息.
.XLAT   換碼指令
格式為:     XLAT   OPR
或:         XLAT
執行的操作:(AL)<-((BX)+(AL))

3.有效地址送寄存器指令
LEA(Load effective address)有效地址送寄存器
LDS(Load DS with Pointer)指針送寄存器和DS
LES(Load ES with Pointer)指針送寄存器和ES
.LEA 有效地址送寄存器
格式為:   LEA    REG,SRC
執行的操作:(REG)<-SRC
     指令把源操作數的有效地址送到指定的寄存器中.
.LDS 指針送寄存器和DS指令
格式為:   LDS   REG,SRC
執行的操作:(REG)<-(SRC)
            (DS)<-(SRC+2)
     把源操作數指定的4個相繼字節送到由指令指定的寄存器及DS寄存器中.該指令常指定SI寄存器.
.LES 指針送寄存器和ES指令
格式為:   LES   REG,SRC
執行的操作: (REG)<-(SRC)
             (ES)<-(SRC+2)
     把源操作數指定的4個相繼字節送到由指令指定的寄存器及ES寄存器中.該指令常指定DI寄存器.

4.標志寄存器傳送指令
LAHF(Load AH with flags)標志送AH
SAHF(store AH into flags)AH送標志寄存器
PUSHF(push the flags) 標志進棧
POPF(pop the flags) 標志出棧
.LAHF 標志送AH
格式為:     LAHF
執行的操作:(AH)<-(PWS的低字節)
.SAHF AH送標志寄存器
格式為:     SAHF
執行的操作:(PWS的低字節)<-(AH)
.PUSHF 標志進棧
格式為:     PUSHF
執行的操作:(SP)<-(SP)-2
            ((SP)+1,(SP))<-(PSW)
.POPF 標志出棧
格式為:     POPF
執行的操作:(PWS)<-((SP)+1,(SP))
            (SP)<-(SP+2)
二、算術指令
1.加法指令
ADD(add)加法
ADC(add with carry)帶進位加法
INC(increment)加1
.ADD   加法指令
格式:     ADD    DST,SRC
執行的操作:(DST)<-(SRC)+(DST)
.ADC   帶進位加法指令
格式:     ADC    DST,SRC
執行的操作:(DST)<-(SRC)+(DST)+CF
.ADD   加1指令
格式:     INC    OPR
執行的操作:(OPR)<-(OPR)+1

2.減法指令
SUB(subtract)減法
SBB(subtract with borrow)帶借位減法
DEC(Decrement)減1
NEG(Negate)求補
CMP(Compare)比較
.SUB   減法指令
格式:   SUB   DST,SRC
執行的操作:(DST)<-(DST)-(SRC)
.SBB   帶借位減法指令
格式:   SBB   DST,SRC
執行的操作:(DST)<-(DST)-(SRC)-CF
.DEC   減1指令
格式:   DEC   OPR
執行的操作:(OPR)<-(OPR)-1
.NEG   求補指令
格式:   NEG   OPR
執行的操作:(OPR)<- -(OPR)
.CMP   比較指令
格式:   CMP   OPR1,OPR2
執行的操作:(OPR1)-(OPR2)
     該指令與SUB指令一樣執行減法操作,但不保存結果,只是根據結果設置條件標志西半球.

3.乘法指令
MUL(Unsigned Multiple)無符號數乘法
IMUL(Signed Multiple)帶符號數乘法
.MUL 無符號數乘法指令
格式:    MUL   SRC
執行的操作:
     字節操作數:(AX)<-(AL)*(SRC)
     字操作數:(DX,AX)<-(AX)*(SRC)
.IMUL 帶符號數乘法指令
格式:    IMUL   SRC
執行的操作:與MUL相同,但必須是帶符號數,而MUL是無符號數.

4.除法指令
DIV(Unsigned divide)無符號數除法
IDIV(Signed divide)帶符號數除法

CBW(Convert byte to word)字節轉換為字
CWD(Contert word to double word)字轉換為雙字
.DIV   無符號數除法指令
格式:    DIV   SRC
執行的操作:
  字節操作:(AL)<-(AX)/(SRC)的商
            (AH)<-(AX)/(SRC)的余數
   字操作:   (AX)<-(DX,AX)/(SRC)的商
            (AX)<-(DX,AX)/(SRC)的余數
.IDIV   帶符號數除法指令
格式:    DIV   SRC
執行的操作:與DIV相同,但操作數必須是帶符號數,商和余數也均為帶符號數,且余數的符號與被除數的符號相同.
.CBW 字節轉換為字指令
格式:    CBW
執行的操作:AL的內容符號擴展到AH.即如果(AL)的最高有效位為0,則(AH)=00;如(AL)的最高有效位為1,則(AH)=0FFH
.CWD 字轉換為雙字指令
格式:   CWD
執行的操作:AX的內容符號擴展到DX.即如(AX)的最高有效位為0,則(DX)=0;否則(DX)=0FFFFH.
     這兩條指令都不影響條件碼.

三、邏輯指令
1.邏輯運算指令
AND(and)           邏輯與
OR(or)            邏輯或
NOT(not)          邏輯非
XOR(exclusive or)異或
TEST(test)        測試
.AND   邏輯與指令
格式:     AND    DST,SRC
執行的操作:(DST)<-(DST)^(SRC)
.OR   邏輯或指令
格式:     OR    DST,SRC
執行的操作:(DST)<-(DST)V(SRC)
.NOT   邏輯非指令
格式:     NOT    OPR
執行的操作:(OPR)<-(OPR)
.XOR   異或指令
格式:     XOR    DST,SRC
執行的操作:(DST)<-(DST)V(SRC)
.TEST   測試指令
格式:     TEST    OPR1,OPR2
執行的操作:(DST)^(SRC)
兩個操作數相與的結果不保存,只根據其特征置條件碼

2.移位指令
SHL(shift logical left)           邏輯左移
SAL(shift arithmetic left)       算術左移
SHR(shift logical right)         邏輯右移
SAR(shift arithmetic right)      算術右移
ROL(Rotate left)                  循環左移
ROR(Rotate right)                 循環右移
RCL(Rotate left through carry)   帶進位循環左移
RCR(Rotate right through carry) 帶進位循環右移
格式:     SHL   OPR,CNT(其余的類似)
其中OPR可以是除立即數以外的任何尋址方式.移位次數由CNT決定,CNT可以是1或CL.
     循環移位指令可以改變操作數中所有位的位置;移位指令則常常用來做乘以2除以2操作.其中算術移位指令適用于帶符號數運算,SAL用來乘2,SAR用來除以2;而邏輯移位指令則用來無符號數運算,SHL用來乘2,SHR用來除以2.


四、串處理指令
1.與REP相配合工作的MOVS,STOS和LODS指令
.REP重復串操作直到(CX)=0為上
格式:   REP    string primitive
其中String Primitive可為MOVS,LODS或STOS指令
執行的操作:
1)如(CX)=0則退出REP,否則往下執行.
2)(CX)<-(CX)-1
3)執行其中的串操作
4)重復1)~3)
.MOVS   串傳送指令
格式:可有三種
     MOVS   DST,SRC
     MOVSB(字節)
     MOVSW(字)
其中第二、三種格式明確地注明是傳送字節或字,第一種格式則應在操作數中表明是字還是字節操作,例如:
             MOVS     ES:BYTE PTR[DI],DS:[SI]
執行的操作:
1)((DI))<-((SI))
2)字節操作:
    (SI)<-(SI)+(或-)1,(DI)<-(DI)+(或-)1
    當方向標志DF=0時用+,當方向標志DF=1時用-
3)字操作:
    (SI)<-(SI)+(或-)2,(DI)<-(DI)+(或-)2
    當方向標志DF=0時用+,當方向標志DF=1時用-
該指令不影響條件碼.
.CLD(Clear direction flag)該指令使DF=0,在執行串操作指令時可使地址自動增量;
.STD(Set direction flag)該指令使DF=1,在執行串操作指令時可使地址自動減量.
.STOS   存入串指令
格式:    STOS   DST
         STOSB(字節)
         STOSW(字)
執行的操作:
    字節操作:((DI))<-(AL),(DI)<-(DI)+-1
    字操作:   ((DI))<-(AX),(DI)<-(DI)+-2
該指令把AL或AX的內容存入由(DI)指定的附加段的某單元中,并根據DF的值及數據類型修改DI的內容,當它與REP聯用時,可把AL或AX的內容存入一個長度為(CX)的緩沖區中.
.LODS   從串取指令
格式:     LODS   SRC
          LODSB
          LODSW
執行的操作:
    字節操作:(AL)<-((SI)),(SI)<-(SI)+-1
     字操作: (AX)<-((SI)),(SI)<-(SI)+-2
該指令把由(SI)指定的數據段中某單元的內容送到AL或AX中,并根據方向標志及數據類型修改SI的內容.指令允許使用段跨越前綴來指定非數據段的存儲區.該指令也不影響條件碼.
     一般說來,該指令不和REP聯用.有時緩沖區中的一串字符需要逐次取出來測試時,可使用本指令.
  
2.與REPE/REPZ和REPNZ/REPNE聯合工作的CMPS和SCAS指令
.REPE/REPZ   當相等/為零時重復串操作
格式:      REPE(或REPZ)     String Primitive
其中String Primitive可為CMPS或SCAS指令.
執行的操作:
1)如(CX)=0或ZF=0(即某次比較的結果兩個操作數不等)時退出,否則往下執行
2)(CX)<-(CX)-1
3)執行其后的串指令
4)重復1)~3)
.REPNE/REPNZ   當不相等/不為零時重復串操作
格式:      REPNE(或REPNZ)    String Primitive
其中String Primitive可為CMPS或SCAS指令
執行的操作:
     除退出條件(CX=0)或ZF=1外,其他操作與REPE完全相同.
.CMPS   串比較指令
格式:      CMP    SRC,DST
           CMPSB
           CMPSW
執行的操作:
1)((SI))-((DI))
2)字節操作:(SI)<-(SI)+-1,(DI)<-(DI)+-1
   字操作:   (SI)<-(SI)+-2,(DI)<-(DI)+-2
指令把由(SI)指向的數據段中的一個字(或字節)與由(DI)指向的附加段中的一個字(或字節)相減,但不保存結果,只根據結果設置條件碼,指令的其它特性和MOVS指令的規定相同.
.SCAS   串掃描指令
格式:    SCAS    DST
         SCASB
         SCASW
執行的操作:
     字節操作:(AL)-((DI)),(DI)<-(DI)+-1
     字操作:   (AL)-((DI)),(DI)<-(DI)+-2
該指令把AL(或AX)的內容與由(DI)指定的在附加段中的一個字節(或字)進行比較,并不保存結果,只根據結果置條件碼.指令的其他特性和MOVS的規定相同.

五、控制轉移指令
  1.無條件轉移指令
.JMP(jmp)   跳轉指令
1)段內直接短轉移
格式:JMP   SHORT OPR
執行的操作:(IP)<-(IP)+8位位移量
2)段內直接近轉移
格式:JMP   NEAR PTR OPR
執行的操作:(IP)<-(IP)+16位位移量
3)段內間接轉移
格式:JMP   WORD PTR OPR
執行的操作:(IP)<-(EA)
4)段間直接(遠)轉移
格式:JMP   FAR PTR OPR
執行的操作:(IP)<-OPR的段內偏移地址
            (CS)<-OPR所在段的段地址
5)段間間接轉移
格式:JMP   DWORD PTR OPR
執行的操作:(IP)<-(EA)
            (CS)<-(EA+2)
2.條件轉移指令
1)根據單個條件標志的設置情況轉移
.JZ(或JE)(Jump if zero,or equal)   結果為零(或相等)則轉移
格式:JE(或JZ)   OPR
測試條件:ZF=1
.JNZ(或JNE)(Jump if not zero,or not equal) 結果不為零(或不相等)則轉移
格式:JNZ(或JNE)   OPR
測試條件:ZF=0
.JS(Jump if sign)   結果為負則轉移
格式:   JS   OPR
測試條件:SF=1
.JNS(Jump if not sign)   結果為正則轉移
格式:JNS   OPR
測試條件:SF=0
.JO(Jump if overflow)   溢出則轉移
格式:    JO   OPR
測試條件:OF=1
.JNO(Jump if not overflow)   不溢出則轉移
格式:    JNO OPR
測試條件:OF=0
.JP(或JPE)(Jump if parity,or parity even) 奇偶位為1則轉移
格式:    JP   OPR
測試條件:PF=1
.JNP(或JPO)(Jump if not parity,or parity odd) 奇偶位為0則轉移
格式:    JNP(或JPO)   OPR
測試條件:PF=0
.JB(或JNAE,JC)(Jump if below,or not above or equal,or carry) 低于,或者不高于或等于,或進位位為1則轉移
格式:JB(或JNAE,JC)   OPR
測試條件:CF=1
.JNB(或JAE,JNC)(Jump if not below,or above or equal,or not carry) 不低于,或者高于或者等于,或進位位為0則轉移
格式:JNB(或JAE,JNC)   OPR
測試條件:CF=0
2)比較兩個無符號數,并根據比較的結果轉移
.JB(或JNAE,JC)
格式:同上
.JNB(或JAE,JNC)
格式:同上
.JBE(或JNA)(Jump if below or equal,or not above) 低于或等于,或不高于則轉移
格式:JBE(或JNA)   OPR
測試條件:CFVZF=1
.JNBE(或JA)(Jump if not below or equal,or above) 不低于或等于,或者高于則轉移
格式:JNBE(或JA)   OPR
測試條件:CFVZF=0
3)比較兩個帶符號數,并根據比較的結果轉移
.JL(或LNGE)(Jump if less,or not greater or equal) 小于,或者不大于或者等于則轉移
格式:JL(或JNGE)   OPR
測試條件:SFVOF=1
.JNL(或JGE)(Jump if not less,or greater or equal)不小于,或者大于或者等于則轉移
格式:JNL(或JGE)   OPR
測試條件:SFVOF=0
.JLE(或JNG)(Jump if less or equal,or not greater) 小于或等于,或者不大于則轉移
格式:JLE(或JNG)   OPR
測試條件:(SFVOF)VZF=1
.JNLE(或JG)(Jump if not less or equal,or greater) 不小于或等于,或者大于則轉移
格式:JNLE(或JG)   OPR
測試條件:(SFVOF)VZF=0
4)測試CX的值為0則轉移指令
.JCXZ(Jump if CX register is zero)   CX寄存器的內容為零則轉移
格式:JCXZ   OPR
測試條件:(CX)=0
注:條件轉移全為8位短跳!

3.循環指令
.LOOP 循環指令
格式: LOOP   OPR
測試條件:(CX)<>0
.LOOPZ/LOOPE 當為零或相等時循環指令
格式: LOOPZ(或LOOPE)   OPR
測試條件:(CX)<>0且ZF=1
.LOOPNZ/LOOPNE 當不為零或不相等時循環指令
格式: LOOPNZ(或LOOPNE)   OPR
測試條件:(CX)<>0且ZF=0
這三條指令的步驟是:
1)(CX)<-(CX)-1
2)檢查是否滿足測試條件,如滿足則(IP)<-(IP)+D8的符號擴充.

4.子程序
.CALL調用指令
.RET返回指令
5.中斷
.INT指令
格式:     INT   TYPE
或        INT
執行的操作:(SP)<-(SP)-2
            ((SP)+1,(SP))<-(PSW)
            (SP)<-(SP)-2
            ((SP)+1,(SP))<-(CS)
            (SP)<-(SP)-2
            ((SP)+1,(SP))<-(IP)
            (IP)<-(TYPE*4)
            (CS)<-(TYPE*4+2)
.INTO   若溢出則中斷
執行的操作:若OF=1則:
            (SP)<-(SP)-2
            ((SP)+1,(SP))<-(PSW)
            (SP)<-(SP)-2
            ((SP)+1,(SP))<-(CS)
            (SP)<-(SP)-2
            ((SP)+1,(SP))<-(IP)
            (IP)<-(10H)
            (CS)<-(12H)
.IRET     從中斷返回指令
格式:      IRET
執行的操作:(IP)<-((SP)+1,(SP))
            (SP)<-(SP)+2
            (CS)<-((SP)+1,(SP))
            (SP)<-(SP)+2
            (PSW)<-((SP)+1,(SP))
            (SP)<-(SP)+2

六、處理機控制指令
1.標志處理指令
.CLC進位位置0指令(Clear carry)CF<-0
.CMC進位位求反指令(Complement carry)CF<-CF
.STC進位位置1指令(Set carry)CF<-1
.CLD方向標志置0指令(Clear direction)DF<-0
.STD方向標志置1指令(Set direction)DF<-1
.CLI中斷標志置0指令(Clear interrupt)IF<-0
.STI中斷標志置1指令(Set interrupt)IF<-0
2.其他處理機控制指令
NOP(No Opreation)    無操作
HLT(Halt)            停機
WAIT(Wait)           等待
ESC(Escape)          換碼
LOCK(Lock)           封鎖
這些指令可以控制處理機狀態.這們都不影響條件碼.
.NOP 無操作指令
     該指令不執行任何操作,其機器碼占有一個字節,在調試程序時往往用這條指令占有一定的存儲單元,以便在正式運行時用其他指令取代.
.HLT停機指令
     該指令可使機器暫停工作,使處理機處于停機狀態以便等待一次外部中斷到來,中斷結束后可繼續執行下面的程序.
.WAIT等待指令
     該指令使處理機處于空轉狀態,它也可以用來等待外部中斷的發生,但中斷結束后仍返回WAIT指令繼續德行.
.ESC換碼指令
    格式ESC   mem
其中mem指出一個存儲單元,ESC指令把該存儲單元的內容送到數據總線去.當然ESC指令不允許使用立即數和寄存器尋址方式.這條指令在使用協處理機(Coprocessor)執行某些操作時,可從存儲器指得指令或操作數.協處理機(如8087)則是為了提高速度而可以選配的硬件.
.LOCK封鎖指令
     該指令是一種前綴,它可與其他指令聯合,用來維持總線的鎖存信號直到與其聯合的指令執行完為止.當CPU與其他處理機協同工作時,該指令可避免破壞有用信息.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

匯編指令大全

一、數據傳輸指令
───────────────────────────────────────
它們在存貯器和寄存器、寄存器和輸入輸出端口之間傳送數據. 匯編指令大全
1. 通用數據傳送指令.
MOV 傳送字或字節.
MOVSX 先符號擴展,再傳送.
MOVZX 先零擴展,再傳送.
PUSH 把字壓入堆棧.
POP 把字彈出堆棧.
PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次壓入堆棧.
POPA 把DI,SI,BP,SP,BX,DX,CX,AX依次彈出堆棧.
PUSHAD 把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次壓入堆棧.
POPAD 把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次彈出堆棧.
BSWAP 交換32位寄存器里字節的順序
XCHG 交換字或字節.( 至少有一個操作數為寄存器,段寄存器不可作為操作數)
CMPXCHG 比較并交換操作數.( 第二個操作數必須為累加器AL/AX/EAX )
XADD 先交換再累加.( 結果在第一個操作數里 )
XLAT 字節查表轉換.
── BX 指向一張 256 字節的表的起點, AL 為表的索引值 (0-255,即0-FFH); 返回 AL 為查表結果. ( [BX+AL]->AL )
2. 輸入輸出端口傳送指令.
IN I/O端口輸入. ( 語法: IN 累加器, {端口號│DX} )
OUT I/O端口輸出. ( 語法: OUT {端口號│DX},累加器 )
輸入輸出端口由立即方式指定時, 其范圍是 0-255; 由寄存器 DX 指定時,
其范圍是 0-65535.
3. 目的地址傳送指令.
LEA 裝入有效地址.
例: LEA DX,string ;把偏移地址存到DX.
LDS 傳送目標指針,把指針內容裝入DS.
例: LDS SI,string ;把段地址:偏移地址存到DS:SI.
LES 傳送目標指針,把指針內容裝入ES.
例: LES DI,string ;把段地址:偏移地址存到ES:DI.
LFS 傳送目標指針,把指針內容裝入FS.
例: LFS DI,string ;把段地址:偏移地址存到FS:DI.
LGS 傳送目標指針,把指針內容裝入GS.
例: LGS DI,string ;把段地址:偏移地址存到GS:DI.
LSS 傳送目標指針,把指針內容裝入SS.
例: LSS DI,string ;把段地址:偏移地址存到SS:DI.
4. 標志傳送指令.
LAHF 標志寄存器傳送,把標志裝入AH.
SAHF 標志寄存器傳送,把AH內容裝入標志寄存器.
PUSHF 標志入棧.
POPF 標志出棧.
PUSHD 32位標志入棧.
POPD 32位標志出棧.

二、算術運算指令
───────────────────────────────────────
ADD 加法.
ADC 帶進位加法.
INC 加 1.
AAA 加法的ASCII碼調整.
DAA 加法的十進制調整.
SUB 減法.
SBB 帶借位減法.
DEC 減 1.
NEC 求反(以 0 減之).
CMP 比較.(兩操作數作減法,僅修改標志位,不回送結果).
AAS 減法的ASCII碼調整.
DAS 減法的十進制調整.
MUL 無符號乘法.
IMUL 整數乘法.
以上兩條,結果回送AH和AL(字節運算),或DX和AX(字運算),
AAM 乘法的ASCII碼調整.
DIV 無符號除法.
IDIV 整數除法.
以上兩條,結果回送:
商回送AL,余數回送AH, (字節運算);
或 商回送AX,余數回送DX, (字運算).
AAD 除法的ASCII碼調整.
CBW 字節轉換為字. (把AL中字節的符號擴展到AH中去)
CWD 字轉換為雙字. (把AX中的字的符號擴展到DX中去)
CWDE 字轉換為雙字. (把AX中的字符號擴展到EAX中去)
CDQ 雙字擴展. (把EAX中的字的符號擴展到EDX中去)

三、邏輯運算指令
───────────────────────────────────────
AND 與運算.
OR 或運算.
XOR 異或運算.
NOT 取反.
TEST 測試.(兩操作數作與運算,僅修改標志位,不回送結果).
SHL 邏輯左移.
SAL 算術左移.(=SHL)
SHR 邏輯右移.
SAR 算術右移.(=SHR)
ROL 循環左移.
ROR 循環右移.
RCL 通過進位的循環左移.
RCR 通過進位的循環右移.
以上八種移位指令,其移位次數可達255次.
移位一次時, 可直接用操作碼. 如 SHL AX,1.
移位>1次時, 則由寄存器CL給出移位次數.
如 MOV CL,04
SHL AX,CL

四、串指令
───────────────────────────────────────
DS:SI 源串段寄存器 :源串變址.
ES:DI 目標串段寄存器:目標串變址.
CX 重復次數計數器.
AL/AX 掃描值.
D標志 0表示重復操作中SI和DI應自動增量; 1表示應自動減量.
Z標志 用來控制掃描或比較操作的結束.
MOVS 串傳送.
( MOVSB 傳送字符. MOVSW 傳送字. MOVSD 傳送雙字. )
CMPS 串比較.
( CMPSB 比較字符. CMPSW 比較字. )
SCAS 串掃描.
把AL或AX的內容與目標串作比較,比較結果反映在標志位.
LODS 裝入串.
把源串中的元素(字或字節)逐一裝入AL或AX中.
( LODSB 傳送字符. LODSW 傳送字. LODSD 傳送雙字. )
STOS 保存串.
是LODS的逆過程.
REP 當CX/ECX<>0時重復.
REPE/REPZ 當ZF=1或比較結果相等,且CX/ECX<>0時重復.
REPNE/REPNZ 當ZF=0或比較結果不相等,且CX/ECX<>0時重復.
REPC 當CF=1且CX/ECX<>0時重復.
REPNC 當CF=0且CX/ECX<>0時重復.

五、程序轉移指令
───────────────────────────────────────
1>無條件轉移指令 (長轉移)
JMP 無條件轉移指令
CALL 過程調用
RET/RETF過程返回.
2>條件轉移指令 (短轉移,-128到+127的距離內)
( 當且僅當(SF XOR OF)=1時,OP1
JA/JNBE 不小于或不等于時轉移.
JAE/JNB 大于或等于轉移.
JB/JNAE 小于轉移.
JBE/JNA 小于或等于轉移.
以上四條,測試無符號整數運算的結果(標志C和Z).
JG/JNLE 大于轉移.
JGE/JNL 大于或等于轉移.
JL/JNGE 小于轉移.
JLE/JNG 小于或等于轉移.
以上四條,測試帶符號整數運算的結果(標志S,O和Z).
JE/JZ 等于轉移.
JNE/JNZ 不等于時轉移.
JC 有進位時轉移.
JNC 無進位時轉移.
JNO 不溢出時轉移.
JNP/JPO 奇偶性為奇數時轉移.
JNS 符號位為 "0" 時轉移.
JO 溢出轉移.
JP/JPE 奇偶性為偶數時轉移.
JS 符號位為 "1" 時轉移.
3>循環控制指令(短轉移)
LOOP CX不為零時循環.
LOOPE/LOOPZ CX不為零且標志Z=1時循環.
LOOPNE/LOOPNZ CX不為零且標志Z=0時循環.
JCXZ CX為零時轉移.
JECXZ ECX為零時轉移.
4>中斷指令
INT 中斷指令
INTO 溢出中斷
IRET 中斷返回
5>處理器控制指令
HLT 處理器暫停, 直到出現中斷或復位信號才繼續.
WAIT 當芯片引線TEST為高電平時使CPU進入等待狀態.
ESC 轉換到外處理器.
LOCK 封鎖總線.
NOP 空操作.
STC 置進位標志位.
CLC 清進位標志位.
CMC 進位標志取反.
STD 置方向標志位.
CLD 清方向標志位.
STI 置中斷允許位.
CLI 清中斷允許位.

六、偽指令
───────────────────────────────────────
DW 定義字(2字節).
PROC 定義過程.
ENDP 過程結束.
SEGMENT 定義段.
ASSUME 建立段寄存器尋址.
ENDS 段結束.
END 程序結束

 

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/lqk1985/archive/2008/09/11/2911250.aspx

posted on 2010-09-03 01:01 小王 閱讀(629) 評論(0)  編輯 收藏 引用 所屬分類: 匯編
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩日韩| 久久野战av| 久热国产精品视频| 欧美一区日韩一区| 国产一区二区三区视频在线观看 | 亚洲第一色中文字幕| 久久人体大胆视频| 久久综合激情| 亚洲日本成人网| 一区二区精品在线观看| 欧美三级在线播放| 欧美一二三区在线观看| 欧美一区免费视频| 亚洲精品免费在线播放| 9i看片成人免费高清| 国产美女诱惑一区二区| 狼狼综合久久久久综合网 | 可以看av的网站久久看| 日韩视频免费大全中文字幕| 亚洲视频在线观看三级| 韩日在线一区| 亚洲精选中文字幕| 国产三区二区一区久久| 欧美激情第9页| 国产精品视频不卡| 欧美激情自拍| 国产日韩在线看片| 亚洲激情电影在线| 国产精品xnxxcom| 久久青青草综合| 国产精品av免费在线观看| 狂野欧美性猛交xxxx巴西| 欧美三级乱码| 欧美黄色成人网| 国产一区二区三区日韩欧美| 最新高清无码专区| 国产性天天综合网| 99精品国产热久久91蜜凸| 韩国亚洲精品| 亚洲小说欧美另类社区| 亚洲精品在线一区二区| 性欧美1819性猛交| 亚洲一区二区黄| 欧美国产精品专区| 欧美成人久久| 韩国一区电影| 欧美一级淫片aaaaaaa视频| 一区二区三区欧美亚洲| 久久尤物电影视频在线观看| 欧美在线观看天堂一区二区三区 | 欧美一区二区视频在线观看| 亚洲一区二区三区色| 女女同性精品视频| 狂野欧美激情性xxxx欧美| 国产午夜精品视频| 亚洲欧美日韩一区在线观看| 亚洲在线第一页| 欧美日韩高清一区| 欧美成人一品| 在线视频欧美日韩精品| 尤物精品国产第一福利三区 | 亚洲欧洲日韩综合二区| 在线欧美日韩| 久久亚裔精品欧美| 久久亚洲国产精品日日av夜夜| 国产农村妇女精品一二区| 亚洲性线免费观看视频成熟| 亚洲女同在线| 国产欧美视频一区二区| 亚洲欧美视频| 久久免费视频这里只有精品| 一区二区三区在线观看国产| 久久久久久久一区二区| 欧美chengren| 亚洲日本乱码在线观看| 欧美人与性动交cc0o| 亚洲开发第一视频在线播放| 制服诱惑一区二区| 国产精品视频精品视频| 欧美一级久久久| 免费不卡在线视频| 亚洲精品综合在线| 国产精品第十页| 久久国产精品久久久| 欧美国产精品va在线观看| 亚洲精品综合在线| 国产精品久久久久久久9999| 欧美一级久久久| 亚洲国产精品成人va在线观看| 99在线|亚洲一区二区| 国产精品毛片在线| 久久久xxx| 9色精品在线| 久久久91精品国产一区二区精品| 伊大人香蕉综合8在线视| 欧美精品二区| 欧美夜福利tv在线| 亚洲伦理在线| 久久久久久久久久久久久女国产乱| 影音先锋另类| 欧美日韩视频在线一区二区 | 欧美国产在线电影| 亚洲欧美欧美一区二区三区| 国模大胆一区二区三区| 欧美久久九九| 久久―日本道色综合久久| 日韩亚洲欧美成人一区| 久久午夜色播影院免费高清| 亚洲午夜羞羞片| 1000部国产精品成人观看| 欧美日韩精品三区| 久久精品亚洲一区二区| 这里只有精品视频| 欧美国产精品中文字幕| 久久狠狠久久综合桃花| 一区二区三区www| 亚洲国产精品女人久久久| 国产欧美日韩在线观看| 欧美日韩一区二区三区高清| 久久综合色88| 久久精彩免费视频| 亚洲一区二区三区在线| 亚洲精品一区二区三区四区高清| 久久夜色精品国产欧美乱| 午夜视频久久久久久| 日韩视频免费在线| 亚洲国产精品成人综合| 国内一区二区在线视频观看| 亚洲影院在线| 国产精品成人一区二区| 欧美成人国产一区二区| 久久国产精品久久国产精品| 国产精品99久久久久久白浆小说| 亚洲福利久久| 欧美成人综合在线| 另类综合日韩欧美亚洲| 久久久99爱| 欧美中文字幕| 亚洲欧美影院| 香蕉成人伊视频在线观看| 午夜精品区一区二区三| 亚洲女与黑人做爰| 亚洲男人第一av网站| 亚洲尤物视频网| 亚洲一区二区三区在线播放| 这里只有精品视频在线| 中文精品视频| 亚洲一区日韩| 欧美有码在线视频| 欧美在线免费观看亚洲| 欧美中日韩免费视频| 久久精品在线| 欧美成人精品h版在线观看| 欧美福利视频网站| 亚洲国产精品123| 亚洲国产精品一区二区www| 91久久国产综合久久91精品网站| 亚洲国产片色| 一本综合久久| 性欧美激情精品| 久久只精品国产| 欧美精品高清视频| 国产精品一区二区三区四区五区| 国产日产欧美一区| 在线看片欧美| 亚洲美女淫视频| 亚洲欧美成aⅴ人在线观看| 久久久国产精彩视频美女艺术照福利 | 久久亚洲高清| 欧美色图首页| 国内精品久久久久影院优| 亚洲国产欧美国产综合一区| 一区二区三区 在线观看视频| 亚洲欧美一区二区三区极速播放| 久久精品日韩欧美| 欧美激情精品久久久六区热门 | 欧美高清视频一二三区| 亚洲精品一区二| 欧美一二三视频| 欧美国产亚洲另类动漫| 国产女主播一区| 亚洲美女黄色片| 久久精品国产一区二区三区免费看| 欧美成人免费va影院高清| 一本大道久久a久久综合婷婷| 久久成人一区| 国产精品成av人在线视午夜片| 极品少妇一区二区三区| 中文网丁香综合网| 媚黑女一区二区| 亚洲网站在线| 欧美国产日本韩| 黄色在线一区| 欧美一级视频| 日韩视频二区| 欧美大片va欧美在线播放| 国产一区二区日韩精品| 亚洲线精品一区二区三区八戒| 免费在线亚洲| 久久高清一区|