单片机数据传送类指令-理解

2019-04-15 18:41发布

data/attach/1904/pzosx6lrf5cfjjkhquzzifbbytwd96cb.jpg 单片机数据传送类指令教程: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.