天天看點

【單片機】彙編指令英文全稱

51單片機常用彙編語言助記符英文全稱 

(1)資料傳送類指令(7種助記符)

MOV(英文為Move):對内部資料寄存器RAM和特殊功能寄存器SFR的資料進行傳送;

MOVC(Move Code)讀取程式存儲器資料表格的資料傳送;

MOVX (Move External RAM) 對外部RAM的資料傳送;

XCH (Exchange) 位元組交換;

XCHD (Exchange low-order Digit) 低半位元組交換;

PUSH (Push onto Stack) 入棧;

POP  (Pop from Stack) 出棧;

(2)算術運算類指令(8種助記符)

ADD(Addition) 加法;

ADDC(Add with Carry) 帶進位加法;

SUBB(Subtract with Borrow) 帶借位減法;

DA(Decimal Adjust) 十進制調整;

INC(Increment) 加1;DEC(Decrement) 減1;

MUL(Multiplication、Multiply) 乘法;

DIV(Division、Divide) 除法;

(3)邏輯運算類指令(10種助記符)

ANL(AND Logic) 邏輯與;

XRL(Exclusive-OR Logic) 邏輯異或;

CLR(Clear) 清零;CPL(Complement) 取反;

RL(Rotate left) 循環左移;

RLC(Rotate Left throught the Carry flag) 帶進位循環左移;

RR(Rotate Right) 循環右移;

RRC (Rotate Right throught the Carry flag) 帶進位循環右移;

SWAP (Swap) 低4位與高4位交換;

(4)控制轉移類指令(17種助記符)

ACALL(Absolute subroutine Call)子程式絕對調用;

LCALL(Long subroutine Call)子程式長調用;

RET(Return from subroutine)子程式傳回;

RETI(Return from Interruption)中斷傳回;

SJMP(Short Jump)短轉移;LJMP長轉移;

AJMP(Absolute Jump)絕對轉移;

CJNE (Compare Jump if Not Equal)比較不相等則轉移;

DJNZ (Decrement Jump if Not Zero)減1後不為0則轉移;

JZ (Jump if Zero)結果為0則轉移;

JNZ (Jump if Not Zero) 結果不為0則轉移;

JC (Jump if the Carry flag is set)有進位則轉移;

JNC (Jump if Not Carry)無進位則轉移;

JB (Jump if the Bit is set)位為1則轉移;

JNB (Jump if the Bit is Not set) 位為0則轉移;

JBC(Jump if the Bit is set and Clear the bit) 位為1則轉移,并清除該位;

NOP (No Operation) 空操作;

(5)位操作指令(1種助記符)

SETB(Set Bit) 位 置1 。

1. 通用資料傳送指令.

MOV----> move

MOVSX---->extended move with sign data

MOVZX---->extended move with zero data

PUSH---->push     

POP---->pop

PUSHA---->push all      

POPA---->pop all

PUSHAD---->push all data

POPAD---->pop all data

BSWAP---->byte swap

XCHG---->exchange

CMPXCHG---->compare and change

XADD---->exchange and add

XLAT---->translate

2.輸入輸出端口傳送指令.

IN---->input 

OUT---->output

3.目的位址傳送指令.

LEA---->load effective address

LDS---->load DS    

LES---->load ES

LFS---->load FS   

LGS---->load GS

LSS---->load SS

4.标志傳送指令.

LAHF---->load AH from flag

SAHF---->save AH to flag

PUSHF---->push flag   

POPF---->pop flag

PUSHD---->push dflag  

POPD---->pop dflag

二、算術運算指令

ADD---->add

ADC---->add with carry

INC---->increase 1

AAA---->ascii add with adjust

DAA---->decimal add with adjust

SUB---->substract

SBB---->substract with borrow

DEC---->decrease 1

NEC---->negative

CMP---->compare

AAS---->ascii adjust on substract

DAS---->decimal adjust on substract

MUL---->multiplication

IMUL---->integer multiplication

AAM---->ascii adjust on multiplication

DIV---->divide

IDIV---->integer divide

AAD---->ascii adjust on divide

CBW---->change byte to word

CWD---->change word to double word

CWDE---->change word to double word with sign to EAX

CDQ---->change double word to quadrate word

三、邏輯運算指令

AND---->and

OR---->or

XOR---->xor

NOT---->not

TEST---->test

SHL---->shift left

SAL---->arithmatic shift left

SHR---->shift right

SAR---->arithmatic shift right

ROL---->rotate left

ROR---->rotate right

RCL---->rotate left with carry

RCR---->rotate right with carry

四、串指令

MOVS---->move string

CMPS---->compare string

SCAS---->scan string

LODS---->load string

STOS---->store string

REP---->repeat

REPE---->repeat when equal

REPZ---->repeat when zero flag

REPNE---->repeat when not equal

REPNZ---->repeat when zero flag

REPC---->repeat when carry flag

REPNC---->repeat when not carry flag

五、程式轉移指令

1>無條件轉移指令(長轉移)

JMP---->jump

CALL---->call

RET---->return

RETF---->return far

2>條件轉移指令(短轉移,-128到+127的距離内)

JAE---->jump when above or equal

JNB---->jump when not below

JB---->jump when below

JNAE---->jump when not above or equal

JBE---->jump when below or equal

JNA---->jump when not above

JG---->jump when greater

JNLE---->jump when not less or equal

JGE---->jump when greater or equal

JNL---->jump when not less

JL---->jump when less

JNGE---->jump when not greater or equal

JLE---->jump when less or equal

JNG---->jump when not greater

JE---->jump when equal

JZ---->jump when has zero flag

JNE---->jump when not equal

JNZ---->jump when not has zero flag

JC---->jump when has carry flag

JNC---->jump when not has carry flag

JNO---->jump when not has overflow flag

JNP---->jump when not has parity flag

JPO---->jump when parity flag is odd

JNS---->jump when not has sign flag

JO---->jump when has overflow flag

JP---->jump when has parity flag

JPE---->jump when parity flag is even

JS---->jump when has sign flag

3>循環控制指令(短轉移)

LOOP---->loop

LOOPE---->loop equal

LOOPZ---->loop zero

LOOPNE---->loop not equal

LOOPNZ---->loop not zero

JCXZ---->jump when CX is zero

JECXZ---->jump when ECX is zero

4>中斷指令

INT---->interrupt

INTO---->overflow interrupt

IRET---->interrupt return

5>處理器控制指令

HLT---->halt

WAIT---->wait

ESC---->escape

LOCK---->lock

NOP---->no operation

STC---->set carry

CLC---->clear carry

CMC---->carry make change

STD---->set direction

CLD---->clear direction

STI---->set interrupt

CLI---->clear interrupt

六、僞指令

DW---->define word

PROC---->procedure

ENDP---->end of procedure

SEGMENT---->segment

ASSUME---->assume

ENDS---->end segment(段, 節,片斷)

END---->end