关于单字指针与双字指针的区别
刘玉蓉
发布于2014-10-08 17:41
234
0
标签:
我对于什么情况下指的是单字指针,什么情况下指的是双字指针搞不清楚,例如下面这段代码
L 320
T MD 20
L DBW [MD 20] 这里的[MD 20]指的是单字指针还是双字指针?如果它指的是单字指针的话是不是DBW320,如果它指的是双字指针的话是不是DBW40
佳答案
1、L DBW [MD 20] 这里的[MD 20]指的是单字指针还是双字指针?
因为MD 20本身就是双字存储单元,故此MD 20就是是双字指针。例如:
T MD2 //值再存入MD2,这是个32位的位存储区域。
T MW100 //值再存入MW100,这是个16位的位存储区域
2、单字指针与双字指针的区别:
单字指针是一个16bit的结构,从0-15bit,指示一个从0-65535的数值,这个数值就是被寻址的存储区域的编号。
双字指针是一个32bit的结构,从0-2bit,共三位,按照8进制指示被寻址的位编号,也就是0-7;而从3-18bit,共16位,指示一个从0-65535的数值,这个数值就是被寻址的字节编号。
3、如果它指的是单字指针的话是不是DBW320,如果它指的是双字指针的话是不是DBW40?
a、假如是单字指针,例如:
L 320
T MW 20
L DBW [MW 20] //是DBW320;
b、假如是双字指针,例如
L 320
T MD 20
L DBW [MD 20] //是DBW40。