51单片机的汇编语言指令中英文对照

控制/MCU

1882人已加入

描述

(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则转移;

(3)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

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分