传送指令:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
功能是将数据在累加器、片内的RAM、SFR及片外ROM、RAM之间进行传送。
指令通式:MOV <dest>,<src>
1,DPTR是单片机内部SFR中的两个寄存器DPH、DPL组合而成。专门用于访问外部存储器的间址寄存器。
2,外部ROM的字节传送指令:MOVC A,@A+DPTR (DPTR作为基地址,A作为偏移量,两者相加得到表中数据地址并取出)
MOVC A,@A+PC
3,堆栈操作指令:进栈操作: push direct
出栈操作: pop direct
寻址方式为直接寻址方式
作用:保存程序断点、数据。
4,数据交换指令:累加器和寄存器或RAM之间的数据交换
作用:为了不丢失目的操作数
字节交换:
半字节交换:xchd a,@Ri ;a3~0?(Ri)3~0
累加器A 高低字节交换:SWAP A.;
算逻运算和移位指令
1,加法指令: 带进位的加法指令 ( ADC )
不带进位的加法指令 ( ADD )
加1指令 ( INC )用于修改数据指针等控制
2,减法指令: 带进位的减法指令 ( SUBB )
减1指令 ( DEC )
3,十进制调整指令: ( DA )为了二进制和BCD码。用16进制数来表示十进制,既BCD码。
如:DA A ; 若AC=1或A3~0 > 9,则A+06h→A
若Cy =1或A7~4 > 9,则A+60h→A
4,乘法指令: MUL A B ; a×b=b a (b存高8位,a存低8位)
5,除法指令: DIV A B ; a÷b=a…b (a存商,b存余数)
逻辑运算指令:
1,逻辑与运算指令 (ANL)从某个存储单元中取出某几位,把其它的为屏蔽掉。
2,逻辑或运算指令 (ORL) “置位” 某些位。
3,逻辑异或指令 (XRL)将某个字节的数据或将数据的某几位变反。也可以比较
4,累加器清零和取反指令 (CLR & CPL方便求补操作)
移位指令
RL A
RR A
RLC A
RRC A
SWAP A
只能对累加器A进行移位。
位操作指令
特点:每位的取值只能是“0”或“1”,存在于片内RAM的位寻址区(20H~2FH)、11个可以按位寻址的SFR。
格式:MOV C , bit ; 其中:C为PSW中的Cy;
MOV bit , C; bit为布尔变量的位地址。
位置指令SETB
清零指令CLR
文章评论(0条评论)
登录后参与讨论