80C51单片机汇编指令全览

需积分: 19 2 下载量 13 浏览量 更新于2024-09-25 收藏 472KB PDF 举报
"这篇资料是关于51单片机的汇编指令集,主要涵盖了数据传送和逻辑运算两类指令,适合学习单片机的人士参考。由用户jyfjk在2007年12月12日整理。" 51单片机的汇编指令集是编程的基础,它包括了各种操作数据的方式,如移动、交换、逻辑运算等。以下将详细介绍这两类指令: 1. 数据传送指令: - MOVA,Rn:将寄存器Rn中的数据传送到累加器A。 - MOVA,data:将直接给出的8位数据传送到A。 - MOVA,@Ri:从Ri所指向的内存地址读取数据并送入A。 - MOVA,#data:将立即数data直接加载到A。 - MOVRn,A:将A中的数据传送到寄存器Rn。 - MOVRn,data:将8位数据直接写入寄存器Rn。 - MOVRn,#data:将立即数写入寄存器Rn。 - MOVdata,A:将A中的数据写入指定的直接地址。 - MOVdata,Rn:将寄存器Rn中的数据写入直接地址。 - MOVdata,data:直接字节间的数据传送。 - MOVdata,@Ri:从Ri所指向的内存地址读取数据并写入直接地址。 - MOVdata,#data:将立即数写入直接地址。 - MOV@Ri,A:将A中的数据写入Ri所指向的内存地址。 - MOV@Ri,data:将数据直接写入Ri所指向的内存地址。 - MOV@Ri,#data:将立即数写入Ri所指向的内存地址。 - MOVDPTR,#data16:将16位的立即数写入DPTR寄存器。 - MOVC,bit:直接位传送至进位位。 - MOVbit,C:进位位传送至直接位。 - MOVCA,@A+DPTR:从A+DPTR地址处取字节数据送A。 - MOVCA,@A+PC:从A+程序计数器地址处取字节数据送A。 - MOVXA,@Ri:外部数据(8位地址)送A。 - MOVXA,@DPTR:外部数据(16位地址)送A。 - MOVX@Ri,A:A数据写入外部存储(8位地址)。 - MOVX@DPTR,A:A数据写入外部存储(16位地址)。 - PUSH data:将直接字节数据压入堆栈,SP加1。 - POP data:从堆栈弹出数据至直接字节,SP减1。 - XCHA,Rn:寄存器Rn与A之间数据交换。 - XCHA,data:直接字节与A之间数据交换。 - XCHA,@Ri:间接Rn与A之间数据交换。 - XCHDA,@Ri:间接Rn与A的低半字节数据交换。 2. 逻辑运算指令: - ANLA,Rn:执行按位与运算,将Rn中的数据与A进行逻辑与操作并将结果存入A。 - ANLA,data:直接字节与A进行逻辑与操作。 - ORLA,Rn:执行按位或运算,将Rn中的数据与A进行逻辑或操作并将结果存入A。 - ORLA,data:直接字节与A进行逻辑或操作。 - CPLA:取反累加器A的每一位。 - CRLA:循环左移累加器A,最右侧移入进位标志位,最低位移入最右侧。 - RLA:逻辑左移A,进位位移入最低位。 - RRA:逻辑右移A,最高位移入进位位,最低位移出。 - SWAPA:交换A的高低四位。 - INCA:累加器A加1。 - DECA:累加器A减1。 - INC data:直接字节加1。 - DEC data:直接字节减1。 这些指令构成了51单片机的基本操作,对于编写低级程序和优化性能至关重要的。掌握这些指令能帮助开发者更好地理解单片机的工作原理,从而实现更高效的代码编写。