哒哒哒,上篇文章有点长,我们把它分开写
这个东西就是写程序的时候,你要把东西放在哪里
这里点破一个事情,就是我们其实都是对地址的读写,对于上层来说,就是这样。
储存模式
这个总结的就很好了,推荐记住。静态语言,给你更多的自由度。
一般我们都说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 偏移地址,想去哪里就去哪里
还有几个我还没有参悟,下次写。