单片机数据传送类指令-理解
2018-01-18 21:40
381 查看
单片机数据传送类指令教程: http://www.51hei.com/mcuteach/242.html 寄存器教程: http://www.51hei.com/mcuteach/245.html
我看懂了单片机传送类指令的教程!我觉得我自己好厉害啊哈哈哈哈哈哈哈。一遍看不懂看两遍,三遍,直到看懂
先谢谢写上面教程的大神
变址寻址,说白了就是以某个地址为起点,加上地址偏移,就得到目标的地址。
结合第一个链接里说的,变址寻址一般用来查表
另,查表指令只有@A+DPTR跟另外 一种形式(这里没涉及),所以要把R0的值放入A中,
上图所示。#TABLE是一个标记。你看汇编代码里有些行的打头会有一些自定义的名字。这个TABLE实际就是一个地址(标记),指向程序中TABLE标记 表中的内容是你自己自定义的,偏移多少位你自己知道。所以DPTH存储的就是TABLE表的位置,R0里面存储的是你指定的偏移,那样自然可以得到你想要的数据
堆栈操作:
SP是一个地址值的指针。因为需求对芯片的要求也不一样,所以堆栈由用户自定义。
比如 Move SP #5FH
这样我就定义了一个堆栈。在60H开始,存放第一个数据
为什么是60H呢?
因为每一次Push,都会把SP的值+1,然后才会把Push后面的东西放到这个新SP值指向的地址单位
但是每次POP都会先把堆栈中最后一个东西吐回原位,然后才会-1.
我看懂了单片机传送类指令的教程!我觉得我自己好厉害啊哈哈哈哈哈哈哈。一遍看不懂看两遍,三遍,直到看懂
先谢谢写上面教程的大神
变址寻址,说白了就是以某个地址为起点,加上地址偏移,就得到目标的地址。
结合第一个链接里说的,变址寻址一般用来查表
另,查表指令只有@A+DPTR跟另外 一种形式(这里没涉及),所以要把R0的值放入A中,
上图所示。#TABLE是一个标记。你看汇编代码里有些行的打头会有一些自定义的名字。这个TABLE实际就是一个地址(标记),指向程序中TABLE标记 表中的内容是你自己自定义的,偏移多少位你自己知道。所以DPTH存储的就是TABLE表的位置,R0里面存储的是你指定的偏移,那样自然可以得到你想要的数据
堆栈操作:
SP是一个地址值的指针。因为需求对芯片的要求也不一样,所以堆栈由用户自定义。
比如 Move SP #5FH
这样我就定义了一个堆栈。在60H开始,存放第一个数据
为什么是60H呢?
因为每一次Push,都会把SP的值+1,然后才会把Push后面的东西放到这个新SP值指向的地址单位
但是每次POP都会先把堆栈中最后一个东西吐回原位,然后才会-1.
相关文章推荐
- 单片机程序是如何执行的_单片机达人解密:指令数据写哪了?
- 深入理解计算机系统(3.3)------操作数指示符和数据传送指令
- c实现汇编数据传送类指令(单片机存储器编址模式)
- 深入理解计算机系统(3.3)---数据传送(或者说复制)指令详解
- 51单片机数据传送指令
- 深入理解Angularjs向指令传递数据双向绑定机制
- 汇编中的通用数据传送类指令
- angularjs深入理解向指令传递数据,双向绑定机制
- 汇编(七)——数据传送类指令二
- 汇编(九)——数据传送类指令四
- 深入理解计算机系统(3.3)---数据传送(或者说复制)指令详解
- 深入理解计算机系统(3.3)------操作数指示符和数据传送指令
- 当单片机遇到多个模块的数据需要处理,应该怎么办?
- 深入理解 c# 第一章 使用 COM将数据 保存到 Excel中 c#4
- 全面理解Java中的String数据类型-Java基础-Java-编程开发
- 51 单片机汇编语言:利用 RET 指令实现多路分支
- NOJ 2024 入栈序列和出栈序列 数据结构理解
- wireshark抓包数据:理解与分析
- SQL Server :理解数据记录结构
- OpenCV中对Mat里面depth,dims,channels,step,data,elemSize和数据地址计算的理解