80C51汇编指令详解
需积分: 11 191 浏览量
更新于2024-09-19
收藏 473KB PDF 举报
"80C51是一种广泛应用的微控制器,其指令集是汇编语言编程的基础。这个汇编指令集是由用户jyfjk在2007年12月12日整理的,主要涵盖了数据传送、逻辑运算、算术运算、位操作等基本功能,对于理解和编写针对80C51的嵌入式程序至关重要。"
以下是80C51汇编指令集的详细说明:
1. 数据传送指令:
- MOVA,Rn:将寄存器Rn中的内容传送到累加器A。
- MOVA,data:直接将内存中的字节数据传送到A。
- MOVA,@Ri:通过间接寻址方式,将Ri所指内存地址的数据传送到A。
- MOVA,#data:将立即数data传送到A。
- MOVRn,A:将A的内容传送到寄存器Rn。
- MOVRn,data:将直接数data传送到寄存器Rn。
- MOVRn,#data:将立即数data传送到寄存器Rn。
- MOVdata,A:将A的内容传送到直接寻址的内存位置。
- MOVdata,Rn:将寄存器Rn的内容传送到直接寻址的内存位置。
- MOVdata,data:直接字节间的传送。
- MOVdata,@Ri:将直接地址的数据传送到由Ri指示的间接地址。
- MOVdata,#data:将立即数data传送到直接地址。
- MOV@Ri,A:将A的内容传送到由Ri指示的间接地址。
- MOV@Ri,data:将直接数据传送到由Ri指示的间接地址。
- MOV@Ri,#data:将立即数data传送到由Ri指示的间接地址。
- MOVDPTR,#data16:将16位常数传送到数据指针DPTR。
- MOVC,bit:直接位传送至进位位。
- MOVCA,@A+DPTR:从A+DPTR所指的程序存储位置取字节到A。
- MOVCA,@A+PC:从A+PC所指的程序存储位置取字节到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:A与寄存器Rn的内容互换。
- XCHA,data:A与直接字节的内容互换。
- XCHA,@Ri:A与由Ri指示的间接地址的内容互换。
- XCHDA,@Ri:A的低4位与由Ri指示的间接地址的内容互换。
2. 逻辑运算指令:
- ANLA,Rn:A与Rn进行逻辑与运算。
- ANLA,data:A与直接字节进行逻辑与运算。
- ANLC,A:A与进位标志位进行逻辑与运算。
- ORLA,Rn:A与Rn进行逻辑或运算。
- ORLA,data:A与直接字节进行逻辑或运算。
- ORLC,A:A与进位标志位进行逻辑或运算。
- CPLA:A的内容取反。
- CPLC:进位标志位取反。
- JBC bit,rel:如果位bit为1,则跳转到相对地址rel处。
这些指令构成了80C51微控制器的基础操作,允许程序员对内部寄存器、内存和外部存储器进行读写操作,执行逻辑和算术运算,并根据条件进行流程控制。掌握这些指令对于编写高效、精确的嵌入式程序至关重要。
2009-10-16 上传
2012-12-11 上传
2009-09-28 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
alichnust
- 粉丝: 0
- 资源: 2
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫