寄存器的英文全稱


AH&AL=AX(accumulator):累加寄存器 指針

BH&BL=BX(base):基址寄存器 調試

CH&CL=CX(count):計數寄存器 索引

DH&DL=DX(data):數據寄存器 ci

SP(Stack Pointer):堆棧指針寄存器 string

BP(Base Pointer):基址指針寄存器 it

SI(Source Index):源變址寄存器 io

DI(Destination Index):目的變址寄存器 擴展

IP(Instruction Pointer):指令指針寄存器 語法

CS(Code Segment)代碼段寄存器 數據

DS(Data Segment):數據段寄存器 

SS(Stack Segment):堆棧段寄存器 

ES(Extra Segment):附加段寄存器 

OF overflow flag 溢出標誌 操做數超出機器能表示的範圍表示溢出,溢出時爲1. 

SF sign Flag 符號標誌 記錄運算結果的符號,結果負時爲1. 

ZF zero flag 零標誌 運算結果等於0時爲1,不然爲0. 

CF carry flag 進位標誌 最高有效位產生進位時爲1,不然爲0. 

AF auxiliary carry flag 輔助進位標誌 運算時,第3位向第4位產生進位時爲1,不然爲0. 

PF parity flag 奇偶標誌 運算結果操做數位爲1的個數爲偶數個時爲1,不然爲0. 

DF direcion flag 方向標誌 用於串處理.DF=1時,每次操做後使SI和DI減少.DF=0時則增大. 

IF interrupt flag 中斷標誌 IF=1時,容許CPU響應可屏蔽中斷,不然關閉中斷. 

TF trap flag 陷阱標誌 用於調試單步操做.


AH&AL=AX(accumulator):累加寄存器 

BH&BL=BX(base):基址寄存器 

CH&CL=CX(count):計數寄存器 

DH&DL=DX(data):數據寄存器 

SP(Stack Pointer):堆棧指針寄存器 

BP(Base Pointer):基址指針寄存器 

SI(Source Index):源變址寄存器 

DI(Destination Index):目的變址寄存器 

IP(Instruction Pointer):指令指針寄存器 

CS(Code Segment)代碼段寄存器 

DS(Data Segment):數據段寄存器 

SS(Stack Segment):堆棧段寄存器 

ES(Extra Segment):附加段寄存器 

OF overflow flag 溢出標誌 操做數超出機器能表示的範圍表示溢出,溢出時爲1. 

SF sign Flag 符號標誌 記錄運算結果的符號,結果負時爲1. 

ZF zero flag 零標誌 運算結果等於0時爲1,不然爲0. 

CF carry flag 進位標誌 最高有效位產生進位時爲1,不然爲0. 

AF auxiliary carry flag 輔助進位標誌 運算時,第3位向第4位產生進位時爲1,不然爲0. 

PF parity flag 奇偶標誌 運算結果操做數位爲1的個數爲偶數個時爲1,不然爲0. 

DF direcion flag 方向標誌 用於串處理.DF=1時,每次操做後使SI和DI減少.DF=0時則增大. 

IF interrupt flag 中斷標誌 IF=1時,容許CPU響應可屏蔽中斷,不然關閉中斷. 

TF trap flag 陷阱標誌 用於調試單步操做.


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位標誌出棧.

相關文章
相關標籤/搜索