比如交叉区域寻址表示为:访问宽度[ARX,偏移量] 中的访问宽度应该多少? 这里没有访问宽度不应该有存储器符号吗? 答: 1、32位指针与访问宽度应该多少? 其0-2bit,指定bit位,3-18bit指定byte字节。其第31bit固定为0。 AR: 0000 0000 0000 0BBB BBBB BBBB BBBB BXXX 这样规定,就意味着AR的取值只能是:0.0 ——65535.7 2、这里没有访问宽度不应该有存储器符号吗? 、上述32位指针形式只是指明数值单元。 、 而在区域间寄存器间接寻址中,由于要寻址的区域也要在AR中指定,显然这时的AR中内容肯定于寄存器区域内间接寻址时,对AR内容的要求,或者说规定不同。 AR: 1000 0YYY 0000 0BBB BBBB BBBB BBBB BXXX 比较一下两种格式的不同,我们发现,这里的第31bit被固定为1,同时,第24、25、26位有了可以取值的范围。聪明的你,肯定可以联想到,这是用于指定存储区域的。对,bit24-26的取值确定了要寻址的区域,它的取值是这样定义的: 26、25、24位 P(外部输入输出): 000 I(输入映像区) : 001 Q(输出映像区) : 010 M(位存储区) : 011 DB(数据块) : 100 DI(背景数据块): 101 L(暂存数据区,也叫局域数据) : 111 如果我们把这样的AR内容,用HEX表示的话,那么就有: 当是对P区域寻址时,AR=800xxxxx 当是对I区域寻址时,AR=810xxxxx 当是对Q区域寻址时,AR=820xxxxx 当是对M区域寻址时,AR=830xxxxx 当是对DB区域寻址时,AR=840xxxxx 当是对DI区域寻址时,AR=850xxxxx 当是对L区域寻址时,AR=870xxxxx 经过列举,:如果AR中的内容是8开头,那么就一定是区域间寻址;如果要在DB区中进行寻址,只需在8后面跟上一个40。84000000-840FFFFF指明了要寻址的范围是: DB区的0.0——65535.7。 |
电工学习网 ( )
GMT+8, 2023-7-7 13:15