正在加载图片...
在一日外地一展 31.4相关知识 4、应用举例 【例3.2】仍以上例程序存储器中2000J单元开始存放09的平方值,以PC 作为基址寄存器进行查表,设MOVC指令所在地址(PC)=1FOF。 解:偏移量=2000H-(1FFOH+1)=0FH 相应的程序如下: MOv A, #09H ADd A#OFH MOVC A, @A+PC 执行结果:(PC)=1FF1H,(A)=51H 这是以PC作为基址寄存器,CPU取完该指令操作码时PC会自动加工厂,指向下 条指令的第一个字节地址,即此时是用(PC)+1作为基址的,目标地址为 (A)+(PC)+1。另外,由于累加器A中的内容为8位无符号整数,这不使得本 指令査表范围只能在以PC当前值开始后256个字节范围内(即(PC lH10OH),使表格地址空间分配受到限制。同时编程时还需进行偏移量的计 算,即 MOVC A,@A+PC指令所在地址与表格存放首地址间的距离量计算,并需要 一条加法指令AD进行地址调整(ADD指令将在下节介绍)。偏移量计算公式为: 偏移量=表首地址一(MOVC指令所在地址+1)3.1 任务二 P1口外接8只LED发光二极管模拟彩灯 3.1.4 相关知识 4、应用举例 【例3.2】 仍以上例程序存储器中 2000H单元开始存放0~9的平方值,以PC 作为基址寄存器进行查表,设MOVC指令所在地址(PC)=1FF0F。 解:偏移量=2000H—(1FF0H+1)=0FH 相应的程序如下: MOV A,#09H ADD A,#0FH MOVC A,@A+PC 执行结果:(PC)=1FF1H,(A)=51H 这是以PC作为基址寄存器,CPU取完该指令操作码时PC会自动加工厂,指向下 一条指令的第一个字节地址,即此时是用(PC)+1作为基址的,目标地址为 (A)+(PC)+1。另外,由于累加器A中的内容为8位无符号整数,这不使得本 指令查表范围只能在以 PC 当前值开始后 256个字节范围内 (即(PC) +1H~100H),使表格地址空间分配受到限制。同时编程时还需进行偏移量的计 算,即MOVC A,@A+PC指令所在地址与表格存放首地址间的距离量计算,并需要 一条加法指令ADD进行地址调整(ADD指令将在下节介绍)。偏移量计算公式为: 偏移量=表首地址—(MOVC指令所在地址+1)
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有