MCS-51单片机汇编指令详解:加法与调用指令

需积分: 9 16 下载量 60 浏览量 更新于2024-12-04 收藏 28KB TXT 举报
本文档是关于80c51单片机的汇编指令集的详细整理,主要包括以字母A开头的18条指令,涵盖了从绝对调用、加法运算到逻辑运算等多种操作。 1. **ACALL addr11** - 绝对调用指令 这个指令用于子程序调用,通过11位地址替换PC的低11位,使得调用范围限制在2KB内。指令执行时,PC的内容会更新,同时SP(堆栈指针)递增以保存返回地址,以便子程序完成后能够正确返回。 2. **ADDA, Rn** - 寄存器加法指令 A累加器的内容与指定的Rn寄存器内容相加,结果存储回A累加器。这条指令只占用一个字节,执行时间为1个机器周期,影响标志位C(进位)、AC(辅助进位)和OV(溢出)。 3. **ADDA, direct** - 直接寻址加法指令 A累加器的内容与内存中直接寻址的单元或专用寄存器内容相加,同样影响标志位C、AC和OV。指令执行需要2个字节,1个机器周期。 4. **ADDA, @Ri** - 间接寻址加法指令 A累加器与通过Ri(i=0,1)间接寻址的内部RAM低128单元内容相加,执行时间1个机器周期,影响相同标志位。 5. **ADDA, #data** - 立即数加法指令 A累加器与给定的立即数相加,影响标志位,执行时间1个机器周期,指令长度为2字节。 6. **ADDCA, Rn** - 带进位加法指令 A累加器、Rn寄存器内容和进位标志位C一起相加,结果存回A,同样影响标志位C、AC和OV。 7. **ANLA, Rn/direct/@Ri/#data** - 逻辑与指令 这组指令用于执行按位逻辑与操作,A累加器与Rn寄存器、直接寻址的内存、@Ri间接寻址的内存或立即数进行按位与,结果存回A。 8. **ANLdirect, A/#data** - 内存单元逻辑与指令 对内存直接寻址的单元与A累加器或立即数进行按位与,结果存回该内存单元。 9. **ANLC, bit** - 位清零指令 对位清零,位操作,将指定位清零并影响进位标志位C。 以上指令是80c51汇编语言编程的基础,理解这些指令的含义和使用方法对于编写有效的80c51单片机程序至关重要。每个指令都涉及到特定的操作、执行时间和对标志位的影响,熟练掌握这些可以提高程序效率和正确性。在实际应用中,开发者通常会结合其他指令,如数据转移、比较、位操作等,来完成更复杂的任务。