FFFFH 二、使用DPTR向接访问 间接访问的范围:片外RAM RAM 空间。其指令也是只有两条: MoVx A, @DPTR MOVX ODPTR,A A DPTR为16位地址。 O000H 外部RAM 2021/130
2021/1/30 26 二、使用DPTR间接访问片外RAM 间接访问的范围:片外RAM的64KB全 空间。其指令也是只有两条: MOVX A,@DPTR ;((DPTR))→ A MOVX @DPTR,A ;(A)→(DPTR) DPTR为16位地址
5变址寻址(访问空间为ROM) 变址寻址:基址加变址的间接寻址。指令 中给出存放基址和变址的寄存器。 基地址寄存器:DPTR或PC; 变址寄存器:累加器A。 也在地址青存器前面加上前缀“@”。例如: MOVc A,@A+DPTR (A)+(DPTR)→A 该指令的操作过程如图34所示。 DPTR内容与A中内容相加作为地址,将该地 地中的内容传送给A
2021/1/30 27 5 变址寻址(访问空间为ROM) 变址寻址:基址加变址的间接寻址。指令 中给出存放基址和变址的寄存器。 基地址寄存器:DPTR或PC; 变址寄存器:累加器A。 也在地址寄存器前面加上前缀“@”。例如: MOVC A,@A+DPTR ;((A)+(DPTR))→ A 该指令的操作过程如图3-4所示。 DPTR内容与A中内容相加作为地址,将该地 址中的内容传送给A
MOVC A,QA+DPTR; ((A)+PTR))A ROM DPTR 03E2H +0414I38H A 32H A 38H 图3-4变址寻址示意图 2021/130
2021/1/30 28 ROM : : DPTR 03E2H + 0414H 38H A 32H : : A 38H 图3-4 变址寻址示意图 MOVC A,@A+DPTR;((A)+(DPTR))→ A
FFFFH 变址寻址的空间为程月 寻址范围: 外部 若使用DPTR为 址范围为64KB; 若使用PC为基地 XXXX 空间在PC之后256字节范 XXX XXXX 内部外部 EA=1 EA=O H H 程序存储器 (ROM) 图2 2021/130
2021/1/30 29 变址寻址的空间为程序存储器 寻址范围: ➢ 若使用DPTR为基地址寄存器,寻 址范围为64KB; ➢ 若使用PC为基地址寄存器,寻址 空间在PC之后256字节范围内
例:已知片外ROM中的0302H单元中有 一个常数x,现欲把它取到累加器A中, 请写出程序。 MOV DPTR #0300H MOVA#02H MOVC A @A+DPTR 问: MOVC A@0302H是否对? 2021/130
2021/1/30 30 例:已知片外ROM中的0302H单元中有 一个常数x,现欲把它取到累加器A中, 请写出程序。 MOV DPTR , #0300H MOV A, #02H MOVC A, @A+DPTR 问:MOVC A, @0302H 是否对?