单片机指令与机器码详细参考表
需积分: 27 93 浏览量
更新于2024-07-22
收藏 44KB DOC 举报
"单片机指令功能及其机器码一览表"
单片机编程中,指令系统是其核心组成部分,它定义了计算机可以执行的操作。本资源提供了一个详细的单片机指令功能及其对应的机器码列表,方便学习者快速查询和理解。以下是一些主要的指令和它们的功能:
1. **数据转移指令**:
- `MOVA,Rn` (E8~EF):将寄存器Rn中的数据转移到累加器A。
- `MOVA,direct` (E5):将直接地址dircet中的数据转移到累加器A。
- `MOVA,@Ri` (ER~E7):将通过寄存器Ri间接寻址的RAM中的数据转移到累加器A。
- `MOVA,#data` (74):将立即数data转移到累加器A。
- `MOVRn,A` (F8~FF):将累加器A中的数据转移到寄存器Rn。
- `MOVRn,direct` (A8~AF):将寄存器Rn中的数据转移到直接地址dircet。
- `MOVRn,#data` (78~7F):将立即数data转移到寄存器Rn。
2. **存储器到存储器的数据转移**:
- `MOVdircet,A` (F5):将累加器A中的数据转移到直接地址dircet。
- `MOVdircet,Rn` (88~8F):将寄存器Rn中的数据转移到直接地址dircet。
- `MOVdircet1,dircet2` (85):将直接地址dircet1中的数据转移到直接地址dircet2。
- `MOVdircet,@Ri` (86~87):将间接通过寄存器Ri的RAM中的数据转移到直接地址dircet。
- `MOVdircet,#data` (75):将立即数data转移到直接地址dircet。
- `MOV@Ri,A` (F6~F7):将累加器A中的数据转移到通过寄存器Ri间接寻址的RAM。
- `MOV@Ri,#data` (76~77):将立即数data转移到通过寄存器Ri间接寻址的RAM。
3. **数据指针操作**:
- `MOVDPTR,#data` (1690):将16位常数data15~816赋值给数据指针DPTR。
4. **程序存储器访问**:
- `MOVCA,@A+DPTR` (93):从((A)+(DPTR))寻址的程序存储器字节中选择数据并送入A。
- `MOVCA,@A+PC` (83):从((A)+(PC))寻址的程序存储器字节中选择数据并送入A。
5. **外部数据存储器访问**:
- `MOVXA,@Ri` (E2~E3):将外部数据(8位地址)送入累加器A。
- `MOVXA,@DPTRE0`:将外部数据(16位地址)送入累加器A。
- `MOVX@Ri,A` (F2~F3):将累加器A中的数据送至外部数据存储器(8位地址)。
- `MOVX@DPTR,A` (F0):将累加器A中的数据送至外部数据存储器(16位地址)。
6. **堆栈操作**:
- `PUSH direct` (C0):将直接地址dircet中的数据压入堆栈,堆栈指针SP加1。
- `POP direct` (D0):将堆栈顶部的数据弹出到直接地址dircet,SP减1。
7. **数据交换**:
- `XCHA,Rn` (C8~CF):交换累加器A和寄存器Rn的内容。
- `XCHA,direct` (C5):交换累加器A和直接地址dircet的内容。
- `XCHA,@Ri` (C6~C7):交换累加器A和通过寄存器Ri间接寻址的RAM的内容。
- `XCHA,@Ri` (D6~D7):交换累加器A和间接RAM的低位。
8. **算术运算**:
- `ADDA,Rn` (28~2F):将寄存器Rn中的数据加到累加器A。
- `ADDA,direct` (25):将直接地址dircet中的数据加到累加器A。
- `ADDA,@Ri` (26~27):将通过寄存器Ri间接寻址的RAM中的数据加到累加器A。
- `ADDA,#data` (24):将立即数data加到累加器A。
- `ADDA,Rn` (38~3F):将寄存器Rn中的数据和进位位加到累加器A。
以上只是部分指令的介绍,实际单片机指令系统还包括逻辑操作、比较、移位、控制转移等更多指令。理解这些指令的机器码和功能对于编写单片机程序至关重要,因为它直接影响程序的执行效率和内存占用。通过深入学习和实践,开发者可以更好地掌握单片机的控制能力。
2010-08-31 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
sinneysh
- 粉丝: 0
- 资源: 9
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析