恭喜,你发布的帖子
发布于 2017-06-08 17:09:38
5楼
30是Dx+V组合。例如D200V3,D200是一个16位数,V3也是一个16位数。当V3=20的时候,引用D200V3就是引用D220。
200是VWx+VWx+2两个连续的16位寄存器的组合,16#8000+10#BBBB组合。当VW200=16#8000,并且VW202=120的时候,引用*VB200就是引用vb120。至于生成这个<16#8000+10#BBBB组合>可以用一个较简单易懂一点的符号表示。就是&VBx。当movd &VB56 VD200的时候,引用*VB200就是等于引用VB56。
200并没有像30一样限制V和Z作为计算间址用寄存器(总共只有最多32个),全部L空间和V空间相邻32位都可以组合成间接寻址指针。
相同的这个组合,D200V3对V3进行数学运算即可令组合指向其他地址。
同样。
200的组合,VW200+VW202(简称*VB200)对VW202进行数学运算,即可令组合指向其他地址。VW200不可运算。
30的D200V3中的D200是准确的地址,V3是偏移。
200中的VW200+VW202(简称*VB200),VW200是寄存器区域的定义,例如V区,I区,Q区。数值16#8000代表V区,数值0代表I区。VW202是该区从0起的偏移。
以上解释完全不同于西家一贯的解释方法,我只是作为给你从30比较容易上手过渡到200这来,而作出的两者之间的类似的解释手法。
请填写推广理由:
分享
只看
楼主