微机原理指令总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.内部数据传送指令:
(1)以累加器A为目的操作数的指令
功能:将源操作数指定的内容送入累加器A。
MOV A , Rn ; A ←(Rn)
MOV A , direct ; A ←(direct)
MOV A , @Ri ; A ←((Ri))
MOV A , # data ; A ← data
(2)以Rn为目的操作数的指令
功能:将源操作数所指定的内容送入当前工作寄存器R0 ~R7中。
MOV Rn , A ; Rn ← (A)
MOV Rn , direct ; Rn ←(direct)
MOV Rn , # data ; Rn ← data
(3)以直接地址为目的操作数的指令
功能:将源操作数所指定的内容送入由直接地址指出的片内RAM单元。
MOV direct , A ; (direct)← (A)
MOV direct , Rn ; (direct) ← (Rn)
MOV direct , direct ; (direct) ← (direct)
MOV direct , @Ri ; (direct) ←((Ri))
MOV direct , # data ; (direct) ← data
4)以间接地址为目的操作数的指令
功能:将源操作数所指定的内容送入R0/R1所指向片内RAM的存储单元中。
MOV @Ri , A ; (Ri) ← (A)
MOV @Ri , direct ; (Ri) ← (direct)
MOV @Ri , # data ; (Ri) ← data
(5)16位数据传送指令
唯一的一条16位立即数传送指令。
功能:将16位二进制的立即数送入数据指针DPTR中。
其中高8位送入DPH,低8位送入DPL。
MOV DPTR , # data16
2.外部数据传送指令
MOVX A,@Ri
MOVX A,@DPTR
MOVX @Ri,A
MOVX @DPTR,A
3.堆栈操作指令
压栈指令:将direct中的内容送入堆栈中
PUSH direct ;SP←(SP)+1,(SP)←(direct)
出栈指令:将堆栈中的内容送回到direct中
POP direct ; (direct) ← (SP), SP←(SP)-1
4.查表指令
MOVC A,@A+DPTR;A←((A)+(DPTR))
MOVC A,@A+PC ;PC ← (PC)+1, A←((A)+(PC))
5.交换指令
XCH A,Rn ;(A)←→(Rn)
XCH A,direct ;(A)←→(direct)
XCH A,@Ri ;(A)←→((Ri))
XCHD A,@Ri ;(A0~3)←→((Ri)0~3)SWAP A ;(A0~3)←→(A4~7)6.逻辑操作类指令:
逻辑“与”指令ANL
逻辑“或”指令ORL
逻辑“异或”指令XRL
累加器A的清零和取反CLR CPL
7.控制转移类指令
长转移指令LJMP 标号
绝对转移指令AJMP 标号
短(相对)转移指令SJMP 标号
间接转移指令JMP @A+DPTR
8.累加器A的移位指令
循环左移RL A ;
循环右移RR A ;
带进位位循环左移RLC A ;
带进位位循环右移RRC A
9.条件转移指令
累加器判零转移指令JZ 标号
JNZ 标号
比较不等转移指令CJNE A, #data, 标号
CJNE A, direct, 标号
CJNE Rn, #data,标号
CJNE @Ri, #data,标号
减1不为零(循环)转移指令DJNZ Rn,标号
DJNZ direct, 标号。