每)天半紫大学 IIANJIN POLYTECHNIC UNIVERSITY ②外RAM(或o)传送指令(MOvX) 实现外RAM(或O与A之间的数据传送 MOVX A,@Ri;(Ri)→A 00H-OFFH MOvX@Ri,A;A→(Ri) MOVX A, @DPTR;(DPTR))A0000H- MOVX @DPTR, A; A(DPTR)IOFFFFH 注意:a建立指针 bA参与 信息与通信工程学院
②.外RAM(或I/O)传送指令(MOVX) 实现外RAM(或I/O)与A之间的数据传送 MOVX A, @Ri ;((Ri))→A MOVX @Ri, A ;A→(Ri) MOVX A, @DPTR;((DPTR))→A MOVX @DPTR, A;A→(DPTR) 00H~0FFH 0000H~ 0FFFFH 注意:a.建立指针 b.A参与
每)天半紫大学 IIANJIN POLYTECHNIC UNIVERSITY 例将内部50H单元中的数X送到外部RAM2500H单 元中,将外部RAM2501H单元内容送入内部40H单元。 MOV A50H MOV DPTR, ##2500H MOVX ODPTR, A MOV DPTR#2501H MOVX A,@DPTR MOV 40HA 信息与通信工程学院
例.将内部50H单元中的数X送到外部RAM2500H单 元中,将外部RAM2501H单元内容送入内部40H单元。 MOV A,50H MOV DPTR, #2500H MOVX @DPTR,A MOV DPTR #2501H MOVX A,@DPTR MOV 40H,A
每)天半紫大学 IIANJIN POLYTECHNIC UNIVERSITY ③.ROM的字节传送指令(MOvc) 变址寻址,查表指令 A变址, DPTR. PC作基址,两者相加的得ROM某单 元地址,将该地址中的数A MOVC A, @A+DPTR DPTR存放表首址, 可以是任意地址A中 MOVC A, @A+PC 存放偏移量 A+DPTR=新地址 PC为查表指令下一条指令 地址,A+A+PC=新地址 A为修正量=表首址一PC 信息与通信工程学院
③. ROM的字节传送指令(MOVC) 变址寻址,查表指令 A变址,DPTR,PC作基址,两者相加的得ROM某单 元地址,将该地址中的数→A MOVC A, @A+DPTR MOVC A, @A+PC DPTR存放表首址, 可以是任意地址A中 存放偏移量 A+DPTR=新地址 PC为查表指令下一条指令 地址,A+A’+PC=新地址 A’为修正量=表首址-PC
每)天半紫大学 IIANJIN POLYTECHNIC UNIVERSITY 例已知累加器A中有一个0~9范围内的数,用以 上查表指令编出能查出0~9的平方值的程序。设平方 表首地址为2000H。 a采用DPTR作为基址寄存器, 程序为: MOV DPTR. 2000H MOVC A,@A+DPTR 若累加器处值为3,得到一个新地址2003H,从该地 址中查表得9并存入累加器A中 信息与通信工程学院
例.已知累加器 A中有一个0~9范围内的数,用以 上查表指令编出能查出0~9的平方值的程序。设平方 表首地址为2000H。 a.采用DPTR作为基址寄存器, 程序为: MOV DPTR, #2000H MOVC A, @A+DPTR 若累加器处值为3,得到一个新地址2003H,从该地 址中查表得9并存入累加器A中
每)天半紫大学 IIANJIN POLYTECHNIC UNIVERSITY b若采用PC作为基址寄存器,程序为: ORG 1FF9H 1FF9H MOV AEfdata 1FFBH ADD A#02H 1FFDH MOVC A, @A+PC 1FFEH SJMP S 2000HDB0 2001HDB1 2002HDB4 2009HDB81 END 信息与通信工程学院
b.若采用PC作为基址寄存器,程序为: ORG 1FF9H 1FF9H MOV A,#data 1FFBH ADD A,#02H 1FFDH MOVC A,@A+PC 1FFEH SJMP $ 2000H DB 0 2001H DB 1 2002H DB 4 ┇ 2009H DB 81 END