单字指针前面描述过,它确定数值是0-65535,而byte.bit这种具体位结构来说,只能用双字指针。这是它们第一个区别,单字指针另外一个限制就是,它只能对T、C、DB、FC和FB进行寻址,通俗说,单字指针只可以用来指代这些存储区域编号。
相单字指针,双字指针就没有这样限制,它可以对位址进行寻址,还可以对BYTE、WORD、DWORD寻址,没有区域限制。,有必有失,对非位区域进行寻址时,必须确保其0-2bit为全0!
总结一下:
单字指针存储器间接寻址只能用址标识符是非位场合;双字指针有位格式存,对址标识符没有限制。也正是双字指针是一个具有位指针,,当对字节、字双字存储区址进行寻址时,必须确保双字指针内容是8倍数。
现,我们来分析一下上述例子中A I[lbk]MD104[rbk] 为什么最后是对I1.2进行与逻辑操作。
L L#+10 ,我们知道存放MD104中值应该是:
MD104:0000 0000 0000 0000 0000 0000 0000 1010
当作为双字指针时,就应该3-18bit指定byte,0-2bit指定bit来确定最终指令要操作址,:
0000 0000 0000 0000 0000 0000 0000 1010 = 1.2
相单字指针,双字指针就没有这样限制,它可以对位址进行寻址,还可以对BYTE、WORD、DWORD寻址,没有区域限制。,有必有失,对非位区域进行寻址时,必须确保其0-2bit为全0!
总结一下:
单字指针存储器间接寻址只能用址标识符是非位场合;双字指针有位格式存,对址标识符没有限制。也正是双字指针是一个具有位指针,,当对字节、字双字存储区址进行寻址时,必须确保双字指针内容是8倍数。
现,我们来分析一下上述例子中A I[lbk]MD104[rbk] 为什么最后是对I1.2进行与逻辑操作。
L L#+10 ,我们知道存放MD104中值应该是:
MD104:0000 0000 0000 0000 0000 0000 0000 1010
当作为双字指针时,就应该3-18bit指定byte,0-2bit指定bit来确定最终指令要操作址,:
0000 0000 0000 0000 0000 0000 0000 1010 = 1.2