(完整版)51单片机汇编指令(全)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

指令中常用符号说明

Rn当前寄存器区的8个工作寄存器R0~R7(n=0~7)

Ri当前寄存器区可作为地址寄存器的2个工作寄存器R0和R1(i=0,1)

Direct8位内部数据寄存器单元的地址及特殊功能寄存器的地址

#data表示8位常数(立即数)

#data16表示16位常数

Add16表示16位地址

Addr11表示11位地址

Rel8位代符号的地址偏移量

Bit表示位地址

@间接寻址寄存器或基址寄存器的前缀

( )表示括号中单元的内容

(( ))表示间接寻址的内容

指令系统

数据传送指令(8个助记符)

助记符中英文注释

MOV Move 移动

MOV A , Rn;Rn→A,寄存器Rn的内容送到累加器A

MOV A , Direct;(direct)→A,直接地址的内容送A

MOV A ,@ Ri;(Ri)→A,RI间址的内容送A

MOV A , #data;data→A,立即数送A

MOV Rn , A;A→Rn,累加器A的内容送寄存器Rn

MOV Rn ,direct;(direct)→Rn,直接地址中的内容送Rn

MOV Rn , #data;data→Rn,立即数送Rn

MOV direct , A;A→(direct),累加器A中的内容送直接地址中

MOV direct , Rn;(Rn)→direct,寄存器的内容送到直接地址

MOV direct , direct;(direct)→direct,直接地址的内容送到直接地址

MOV direct , @Ri;((Ri))→direct,间址的内容送到直接地址

MOV direct , #data;8位立即数送到直接地址中

MOV @Ri , A;(A)→@Ri,累加器的内容送到间址中

MOV @Ri , direct;direct→@Ri,直接地址中的内容送到间址中

MOV @Ri , #data; data→@Ri ,8位立即数送到间址中

MOV DPTR , #data16;data16→DPTR,16位常数送入数据指针寄存器,高8位送入DPH,低8位送入DPL中(单片机中唯一一条16位数据传送指令)

(MOV类指令共16条)

MOVC Move Cod 查表指令

MOVC A , @A+PC;PC+1→PC,(A+PC)→A

MOVC A , @A+DPTR;(A+DPTR) →A

(MOVC类指令共两条)

MOVX Move External 与外部数据寄存区传送数据

MOVX A , @DPTR;(DPTR)→A,DPTR间址单元内容送A

MOVX @DPTR , A;A→(DPTR),A中内容送入DPTR间址单元

MOVX A , @Ri;(Ri)→A,Ri间址单元内容送A

MOVX @Ri , A;A→(Ri),A中内容送Ri间址单元

(MOVX类指令4条)

XCH Exchange 交换指令

XCH A , Rn;Rn←→A , Rn的内容与A的内容交换

XCH A , Direct; Direct ←→A ,直接地址的内容与A的内容交换

XCH A , @Ri;(Ri)←→A ,间址的内容与A的内容交换

XCHD Exchange Decimal十进制交换

XCHD A , @Ri;(Ri.3~Ri.0) ←→A.3~A.0,间址内容低四位与A中内容低四位交换

SWAP Swap 交换

SWAP A;A.3~A.0←→ A.7~A.4 , A中低四位与高四位内容交换

PUSH Push 入栈

PUSH direct;SP+1→SP , (direct)→(SP)

;直接地址内容压入堆栈顶

POP Pop 出栈

POP direct;(SP)→(direct) , SP-1→SP

;堆栈内容弹出到直接地址

●算术运算类指令(7个助记符)

ADD Add 加法运算

ADD A , Rn;A + Rn→A , A与Rn的内容相加,结果送到A中

ADD A , direct;(direct)+A→A,A与直接地址的内容相加,结果送到A中

ADD A , @Ri;((Ri))+A→A, A与间址中的内容相加,结果送到A中

ADD A , #data;data+A→A,A与立即数相加,和送入A

ADDC ADD with Carry 带进位加法

ADDC A , Rn;A + Rn+CY→A , A与Rn的内容、进位状态相加,结果送到A中ADDC A , direct;(direct)+A+CY→A,A与直接地址的内容、进位状态相加,结果送到A中ADDC A , @Ri;((Ri))+A+CY→A, A与间址中的内容、进位状态相加,结果送到A中ADDC A , #data;data+A+CY→A,A与立即数、进位状态相加,和送入A

SUBB Subbtract with Borrow 带进位减法

SUBB A , Rn;A-Rn-CY→A,A减寄存器Rn的内容及进位标志,结果送A

SUBB A , direct; A-(direct)-CY→A,A直接地址的内容及进位标志,结果送A

SUBB A , @Ri; A-((Ri))-CY→A,A间址的内容及进位标志,结果送A

SUBB A , #data; A-data-CY→A,A立即数及进位标志,结果送A

MUL Multiply 乘法指令

MUL AB;A x B→B和A,结果16位,高8位存入B,低8位存入A

;若结果大于FFH,则将溢出标志OV置1

相关文档
最新文档