1.AR间接寻址方式 。使用辅助寄存器ARn(n=0~7)指向数据; ●CPU用ARn产生地址的方式取决于访问的数据类型。 表4-7AR间接寻址方式时AR的内容 寻址空间 AR内容 数据空间 23位地址的低16位, (存储空间或寄存器) 而高7位由ARnH提供 2)寄存器位或双位 位的相对位置 3)I/O空间 一个16位的/O地址 (4)ARMS位对AR间接操作数的影响 34
1. AR间接寻址方式 ⚫ 使用辅助寄存器ARn(n=0~7)指向数据; ⚫ CPU用ARn产生地址的方式取决于访问的数据类型。 表4-7 AR间接寻址方式时AR的内容 寻址空间 AR内容 (1)数据空间 (存储空间或寄存器) 23位地址的低16位, 而高7位由ARnH提供 (2)寄存器位或双位 位的相对位置 (3) I/O 空间 一个16位的I/O地址 34 (4) ARMS位对AR间接操作数的影响
(1)AR间接寻址数据空间 ,ARn提供一个16位的低字地址,与其相关的 寄存器ARnH提供高7位的地址,它们合成为 一个23位的扩展辅助寄存器XARn。 ●对于访问数据空间,需使用专用指令把地址 装入XARn; ◆ARn可以单独装入; ◆ARnH不能单独装入。 35
⚫ ARn提供一个16位的低字地址, 与其相关的 寄存器ARnH提供高7位的地址, 它们合成为 一个23位的扩展辅助寄存器XARn。 ⚫对于访问数据空间, 需使用专用指令把地址 装入XARn; ◆ARn可以单独装入; ◆ARnH不能单独装入。 (1)AR间接寻址数据空间 35
ARnH ARn 数据空间 0000000 0000000000000000 主数据页0: 0000000 1111111111111111 00 0000h~00 FFFFh 0000001 0000000000000000 主数据页1: 010000h~01 FFFFb 0000001 1111111111111111 0000010 0000000000000000 主数据页2: 020000h~02 FFFFh 0000010 1111111111111111 1111111 0000000000000000 主数据页127: 1111111 1111111111111111 7F 0000h~7F FFFFh 图4-8AR间接寻址方式寻址数据空间 36
图4-8 AR间接寻址方式寻址数据空间 ARnH ARn 数据空间 000 0000 000 0000 0000 0000 0000 0000 1111 1111 1111 1111 主数据页0: 00 0000h~00 FFFFh 000 0001 000 0001 0000 0000 0000 0000 1111 1111 1111 1111 主数据页1: 01 0000h~01 FFFFh 000 0010 000 0010 0000 0000 0000 0000 1111 1111 1111 1111 主数据页2: 02 0000h~02 FFFFh 111 1111 111 1111 0000 0000 0000 0000 1111 1111 1111 1111 主数据页127: 7F 0000h~7F FFFFh 36
例4-5:*ARn用于数据存储器寻址, 设ARn工作在线性寻址状态。(ARnLC=O) (1)MOV *AR4,T2 设(XAR4)=731020h AR4H:AR4 XAR4, CPU从XAR4处读取数据装入T2 例4-6,*(ARn+T0)用于数据存储器寻址, 设ARn工作在线性寻址状态。 (1)MOV*(AR4+T0),T2 AR4H:AR4=XAR4, CPU从XAR4处读取数据装入T2, 然后AR4=AR4+T0 (必须C54CM=0) (C54CM=1,AR4=AR4+ARO) 37
例4-5: *ARn用于数据存储器寻址, 设ARn工作在线性寻址状态。 (1) MOV *AR4, T2 ; AR4H:AR4 = XAR4, ;CPU从XAR4处读取数据装入T2 (1) MOV *(AR4+T0),T2 ;AR4H:AR4=XAR4, CPU从XAR4处读取数据装入T2, 然后AR4=AR4+T0 (必须C54CM=0) (若C54CM=1, 则AR4=AR4+AR0) 37 (ARnLC=0) 例4-6, *(ARn+T0)用于数据存储器寻址, 设ARn工作在线性寻址状态。 设(XAR4)=731020h
(2)AR间接寻址寄存器位 当AR间接寻址方式用于访问一个寄存器位时,16位 的寄存器ARn指定位的位置。 ARn: M 11109876543210 MSB 寄存器 LSB M为39或15(根据不同的寄存器而定) ·例如,ARn为0,则访问寄存器的最低位。 例4-13:*ARn用于对寄存器位的寻址,设AR0=0。 (1)BSET*AR0,AC3,CPU将AC3的位0置为1 38
(2)AR间接寻址寄存器位 ⚫ 当AR间接寻址方式用于访问一个寄存器位时, 16位 的寄存器ARn指定位的位置。 M 11 10 9 8 7 6 5 4 3 2 1 0 MSB LSB ... ... M为39或15(根据不同的寄存器而定) ARn: 寄存器 38 ⚫ 例如,ARn为0,则访问寄存器的最低位。 例4-13: *ARn用于对寄存器位的寻址, 设AR0=0。 (1) BSET *AR0, AC3 ; CPU 将AC3的位0置为1