伪指令?
1、定位伪指令
ORG m ?2、定义字节伪指令
DB X1,X2,X3,…,Xn ?3、字定义伪指令
DW Y1,Y2,Y3,…,Yn
4、汇编结束伪指令 END
寻址方式
MCS-51单片机有五种寻址方式:
1、寄存器寻址 3、直接寻址 5、基寄存器加变址寄存器间接寻址 7、位寻址
数据传送指令
一、以累加器A为目的操作数的指令(4条)
?MOV A,Rn ;(Rn)→A n=0~7 ?MOV A,direct ;( direct )→A
?MOV A,@Ri ;((Ri))→A i=0~1 ?MOV A,#data
; data →A
二、以Rn为目的操作数的指令(3条)
MOV Rn ,A ;(A)→ Rn
MOV Rn ,direct ;( direct )→ Rn MOV Rn ,#data ; data → Rn ?三、以直接寻址的单元为目的操作数的指令(5条)
MOV direct,A
;(A)→direct MOV direct,Rn
;(Rn)→direct
MOV direct,direct
;(源direct)→目的direct
MOV direct,@Ri ;((Ri))→direct MOV direct,#data
; data→direct
四、以寄存器间接寻址的单元为目的操作数的指令(3条)
MOV @Ri,A
;(A)→(Ri)
MOV @Ri,direct ;(direct)→(Ri) MOV @Ri,#data ; data→ (Ri)
五、十六位数据传送指令(1条)
MOV DPTR,#data16 ;dataH→DPH,dataL →DPL
六、堆栈操作指令
2、 寄存器间接寻址 4、立即数寻址 6、相对寻址 进栈指令
PUSH direct
;(SP)+1 → SP ,(direct) → SP
退栈指令
POP direct
七、字节交换指令(5条)
?XCH A,Rn ;(A)→?(Rn)
?XCH A,direct ;(A)→?(direct) ?XCH A,@Ri ;(A)→?((Ri))?
八、半字节交换指令
?XCHD A,@Ri ;(A)0~3→?((Ri)) 0~3
九、加器A与外部数据存贮器传送指令(4条)
?MOVX A,@DPTR ?MOVX A,@ Ri
; ((DPTR))→A ; ((Ri))→A i=0,1
?MOVX @ DPTR ,A ; (A)→( DPTR) ?MOVX @ Ri , A ; (A)→(Ri) i=0,1
十、查表指令
(i)MOVC A ,@ A+PC ;((A)+(PC))→A ?
(ii)MOVC A , @A+ DPTR ;((A)+(DPTR))
算术运算指令
一、不带进位的加法指令(4条)
ADD A,Rn ADD A,direct ADD A,@Ri ADD A,#data ADDC A,Rn ADDC A,@Ri
;(A)+(Rn)→A ;(A)+(direct)→A ;(A)+((Ri))→A ;(A)+#data→A
;(A)+(Rn)+CY→A
二、带进位加法指令(4条)
ADDC A,direct ;(A)+(direct) +CY →A
;(A)+((Ri)) +CY →A
ADDC A,#data ;(A)+ #data +CY →A
三、增量指令(5条)
INC A
;(A)+1 →A ;(Rn)+1 → Rn ;(direct)+1 → direct ;((Ri))+1 →(Ri) ;(DPTR)+1 →DPTR
?INC Rn ?INC direct ?INC @Ri ?INC DPTR
四、十进制调整指令(1条)
DA A
减法指令
一、带进位减法指令
SUBB A,Rn SUBB A,direct SUBB A,@Ri
SUBB A,#data
二、减1指令(4条)
DEC A
DEC Rn DEC direct DEC @Ri
乘法指令
MUL AB
除法指令
DIV AB
逻辑运算指令
累加器A的逻辑操作指令
一、累加器A清0
CLR A 二、累加器A取反
CPL A 三、左环移指令
RL A
四、带进位左环移指令
RLC A
五、右环移指令
RR A
六、带进位右环移指令
RRC
A
七、累加器ACC半字节交换指令
SWAP A
两个操作数的逻辑操作指令
逻辑与指令 逻辑或指令
ANL A,Rn
ORL A,Rn ANL A,direct ORL A,direct ANL A, @Ri ORL A, @Ri ANL A,#data ORL A,#data ANL direct ,A ORL direct,A ANL direct,#data
ORL direct,#data
位操作指令
逻辑异或指令
XRL A,Rn
XRL A,direct XRL A,@Ri XRL A,#data XRL direct,A XRL direct,#data
位变量传送指令
MOV MOV CLR
CLR CPL C CPL bit SETB SETB
C bit C,bit bit,C C bit
位变量修改指令
位变量逻辑与指令ANL C,bit
ANL C,/bit ORL
ORL
C,bit C,/bit
位变量逻辑或指令
相关推荐: