EMC MCU汇编指令详解

需积分: 0 1 下载量 115 浏览量 更新于2024-07-25 收藏 96KB PDF 举报
"该文档详细介绍了EMC MCU的汇编语言指令集,是针对EMC微控制器的新手学习资料。内容包括各种面向寄存器的字节操作指令,如加法、减法、逻辑运算、移位、比较及跳转等,每个指令都列出了其助记符、动作、对标志的影响以及指令周期。" EMC汇编语言指令集是编程EMC微控制器的基础,它提供了低级别的硬件控制手段。以下是一些主要的指令及其功能: 1. **加法指令**: - `ADDA, RA+R -> AZ, C, DC1`:将寄存器R的内容与累加寄存器A相加,结果存储在A中,更新标志AZ、C和DC1。 - `ADD R, AA+R -> RZ, C, DC1`:类似地,将A和R相加,结果存储回R。 2. **逻辑运算指令**: - `ANDA, R A&R -> A`:执行按位与操作,将R与A进行逻辑与,结果存入A,更新标志Z。 - `AND R, A A&R -> R`:逻辑与操作,结果存入R。 - `CLRR 0 -> R`:清除R寄存器的所有位,设置Z标志。 - `CLRA`:清空累加器A,设置Z标志。 3. **位操作和反转指令**: - `COMR /R -> R`:对R的每一位取反,结果存回R,更新Z标志。 - `COMAR /R -> AZ`:取反R并存入A,更新Z标志。 4. **十进制调整指令**: - `DAAA`:执行十进制调整,通常用于BCD(二进制编码的十进制)计算。 5. **递增和递减指令**: - `DECR R-1 -> RZ`:R减1,结果存回R,更新Z标志。 - `DECAR R-1 -> AZ`:A减1,结果存回A。 - `INCR R+1 -> RZ`:R加1,结果存回R,更新Z标志。 - `INCAR R+1 -> AZ`:A加1,结果存回A。 6. **条件跳转指令**: - `DJZR R`:如果R减1后为零,则跳过下一条指令。 - `DJZAR R`:同理,但使用A寄存器。 - `JZRR+1 -> R`:若R为零则跳转到R+1指示的地址。 - `JZAR R+1 -> A`:若A为零则跳转。 7. **数据移动指令**: - `MOVR A, R`:将A的内容移动到R。 - `MOVA, R`:将R的内容移动到A。 - `MOVR R, R`:R的内容复制到自身,通常用于交换或清除寄存器。 8. **按位或指令**: - `ORA, R AORR -> A`:按位或操作,结果存入A,更新Z标志。 - `ORR, A AORR -> R`:按位或操作,结果存入R。 9. **减法指令**: - `SUBA, R`:从A中减去R的内容,结果留在A中,更新标志。 这些指令是编写汇编程序的基本元素,通过它们可以直接控制处理器的内部操作,实现高效且精确的控制。了解和熟练掌握这些指令对于开发针对EMC MCU的应用至关重要。