一、立即寻址
分两种情况:长立即寻址和段立即寻址
长立即寻址:可指定16位常数位操作数,需要两个指令字,该常数为第二个指令字。
短立即寻址:可指定8、9或者13位常数为操作数,只需要单个指令,操作数包含再指令当中。
二、直接寻址
采用直接寻址方式,可访问128个字的块内数据寄存器。一般把128个字构成的块叫做数据页面。整个64K数据空间包括了512个数据页面。状态寄存器ST0中的9位数据页面指针(DP)中的值确定当前的数据页面。
除了知道数据页面外,处理器还必须知道访问该页面上的哪一个字。这是由7位的偏移量决定的。偏移量由指令寄存器的低7位确定。
处理器将DP和指令寄存器的低7位构成了完整的16位地址。需要注意的是,所有的程序都要初始化DP,复位并不会初始化DP,而DP处于不确定的状态。
三、间接寻址
8个辅助寄存器(AR0--AR7)可以提供很灵活的间接寻址功能。使用一个辅助寄存中的16位地址,可以访问64K数据空间中的任意位置。
为选择某个辅助寄存器,可以将数值0--7加载到ST0中的一个三位辅助寄存器指针(ARP)中。由ARP指向的辅助寄存器叫做当前辅助寄存器或者当前AR,当前辅助寄存器中的内容作为数据存储器的地址。
间接寻址方式的选择
间接寻址有四种方式可以选择:
(1)不增加也不减少。指令使用当前辅助寄存器中的内容作为数据存储器的地址,但是当前辅助寄存器中的内容不增加也不减少。
(2)增加1或减少1。指令使用当前辅助寄存器中的内容作为数据存储器的地址,并且当前辅助寄存器中的内容增加1或者减少1.
(3)增加或减少一个变址量。AR0的值是这个变址量。指令使用当前辅助寄存器中的内容作为数据存储器的地址,然后当前辅助寄存器中的值增加或者减少一个变址量。
(4)按逆向方式增加或减少一个变址量。指令使用当前辅助寄存器中的内容作为数据存储器的地址,然后当前辅助寄存器中的值增加或者减少一个变址量。在这种情况下,加或减是按逆向进位的方式进行的,主要用于快速傅里叶变换。
阅读(1685) | 评论(0) | 转发(0) |