AR1是地址寄存器,里面的值如果按2进制来算应该是2400,但是实际上它显示的是一个地址,地址的实际值应该显示为300.0而不是你说的300,以二进制的形式来看地址的格式如下:
0-2这三位代表地址的位数值,3-18这十六位代表的是尺寸数值,比如Q10.3的地址转换成2进制就是:1010011,前面3位1010是尺寸数10,后面三位是位数值3.
如果想访问一个字节、字、双字的地址(假设你例子中要访问MW300),直接将要访问的地址号(你举得例子中的300)左移三位,或者直接乘以8,然后放到地址寄存器中,再访问这个地址就OK了。
再看看别人怎么说的。
地址寄存器的地址格式为:
1、第0位到第2位作为寻址操作的位地址。
2、第3位到第18位作为寻址操作的字节地址。
3、内部区域寻址时,第19位到第31位在没有定义的。
4、在区域间寻址时,第24位到第31位用来表示区域类型。
根据AR1的地址格式,300左移3位后,第0位到第2位为0,就是位地址为0;第3位到第18位为300,技师字节地址为300。所以你查看到的AR1为300。