A I[MD10]里,为什么MD10=2#111011
刘玉蓉
发布于2014-11-05 17:35
3
0
标签:
我知道2#111011表示二进制,也知道MD10里是一个地址指针,低3位是位地址
这个地址就是P#7.3,2#111011 =59=7*8+3
我想问的的MD10用二进制表示为什么是111011。10用二进制表示不是110吗?
问题补充:
我想知道#P7.3和2#111011怎么换算的出来的
佳答案
A I[MD10]表示检测I位的状态,I的地址由MD10的值决定。
要理解上述问题的含义,需要首先了解存储器的间接寻址问题。存储器的间接寻址(简称间接寻址)指令是以存储器的形式给出操作数所在存储单元的地址,也就是说该存储器的内容是操作数所在存储器单元的地址,该存储器一般称为地址指针,在指令中需要写在方挂号[]内,对于I存储器必须使用双字。I[MD10]中的MD10称为地址指针,其里边的数值代表地址:
2#111011 实际是2#0000 0000 0000 0000 0000 0000 0000 0000 0011 1011#P7.3
其中后3位为位号,所以2#111011为字节号2#111=7,位号2#011=3(按十进制计算),实际指令是A I7.3即输入过程映像寄存器中输入字节为7,位号为3的输入端子(输入模块的一个输入端子)。
很简单,只要把存储器间接寻址的双字指针格式中除后三位(011),把前边的二进制数字字节部分按十进制单独计算作为字节号:2#0000 0000 0000 0000 0000 0000 0000 0000 0011 1=1X2的2次方+1X2的1次方+1X2的0次方 =7;而后三位按十进制计算作为位号2#011=1X2的1次方+1X2的0此方=3