51单片机指令系统.2

2022-07-13 17:07:10 浏览数 (1)

哒哒哒,上篇文章有点长,我们把它分开写

这个东西就是写程序的时候,你要把东西放在哪里

这里点破一个事情,就是我们其实都是对地址的读写,对于上层来说,就是这样。

储存模式

这个总结的就很好了,推荐记住。静态语言,给你更多的自由度。

一般我们都说HAX文件,这个文件详细的样子是什么样?

这些是字节寄存器,地址是半个字节的。

位寄存器是字节寄存器里面的一位。

写法

KELI内部的设置

优化的级别

启动文件处理过后的RAM区域

详细的就不写了,写数据结构的时候我再写。

启动文件一开始对存储器的地址进行设置

同理

剩下的启动文件,再写完汇编再来看。

这个的设计是扩大了RAM的空间,而且也不影响别的引脚的状态了。注意的是寻址的写法,使用DPTR @访问。

至于这个功能能不能用,还受AUXR这个寄存器的控制,一位写0就可以读取

0是内部的访问

这里也需要打上对勾

先指定一个地址,接着就是把地址初始化,读取的时候使用DPTR @读取。

读内部的代码

C语言一下就看懂了,sfr指定寄存器的位置,接着就是初始化位置,搞一些变量存到内置扩展的RAM空间。

写和读没有什么区别

AUXR是只写的寄存器,这里需要注意

假如真的很糟糕,需要外置的数据存储器,那么需要这样的来使用。

这些地址都要直接寻址来操作

就是这样的功能区

B寄存器再不做乘除的时候,随便使用

经常看见DPTR,它是什么?上面数据手册有错字

很简单,就是一个取内容的命令,不过是从外RAM里面搬内容到内RAM

传统的51就一个DPTR吧?STC的片子有两个这样的DPTR,控制DPS位。可以实现快速的切换。

记得使用INC快速的切换这两个数据指针

我写完这个就不写了

其实汇编语言最多的事情就是搬东西,把哪里的数据使用什么样的做法搬走、

这个简单吧,就是直接对数字操作了,直接送入A,其实就是ACC

这里是是直接寻址,这里设计为专门的为SFR设计的方式

一说间接寻址其实就是没有直接拿到我们要的结果,而是要间接的通过地址来取数,@就是和地址相关的东西。

寄存器寻址,我没有很理解

这个是我最喜欢的PC 偏移地址,想去哪里就去哪里

还有几个我还没有参悟,下次写。

0 人点赞