51单片机 汇编语言 常用数据处理程序设计 查表送寄存器

【2.2】应用DPTR设计查表程序,在程序存储器2000H设一双字节数据表(表格长度小于128字节,每个元素两个字节,使用汇编DW伪指令置数),根据累加器A中的查表参数(... 【2.2】
应用DPTR设计查表程序,在程序存储器2000H设一双字节数据表(表格长度小于128字节,每个元素两个字节,使用汇编DW伪指令置数),根据累加器A中的查表参数(或序号)查找对应值送入R0、R1寄存器中。

ORG 0000H
MOV DPTR,#TABLE
MOV R2,A (???)
MOVC A,@A+DPTR
MOV R0,A (???)
XCH A,R2 (???)
INC A (???)
MOVC A,@A+DPTR
MOV R1,A (???)
SJMP $
ORG 2000H
TABLE: DW 0,1,4,9,16,25,36,49,64,81,100,121,144,169
DW
196,225,256,289,324,361,400,441,484,529,576,625,676,729,784,841,900
END

求助:
1.给“(???)”所在行进行标注,及其功能;
2.请指出哪步是累加器A中的查表参数(或序号)查找对应值送入R0、R1寄存器中

谢谢!
展开
 我来答
乱七胡说八糟乱想
推荐于2018-05-07 · 好知、好奇、好问、好学、多语、热心。
乱七胡说八糟乱想
采纳数:5657 获赞数:14885

向TA提问 私信TA
展开全部
ORG 0000H
MOV DPTR,#TABLE
MOV R2,A (暂存A中原来的参数)
MOVC A,@A+DPTR ;到表头地址加A中的偏移量处取数
MOV R0,A (把取来的第一个数放在R0中)
XCH A,R2 (把原暂存的A值和和才取的数进行交换存贮)
INC A (因是二字节的这准备取下一个字节的数)
MOVC A,@A+DPTR
MOV R1,A (把取的第二个字放在的R1中)
SJMP $
ORG 2000H
TABLE: DW 0,1,4,9,16,25,36,49,64,81,100,121,144,169
DW
196,225,256,289,324,361,400,441,484,529,576,625,676,729,784,841,900
END
来自:求助得到的回答
landjoin
2011-12-26 · 超过14用户采纳过TA的回答
知道答主
回答量:60
采纳率:0%
帮助的人:38.8万
展开全部
1、
ORG 0000H
MOV DPTR,#TABLE
MOV R2,A ;待查表参数暂存R2
MOVC A,@A+DPTR
MOV R0,A ;查表得到的第一个字节数据(低8位)送入R0
XCH A,R2 ;从R2取回待查表参数(等同 MOV A,R2)
INC A ;带查表参数+1,获得双字节表的下一个偏移地址
MOVC A,@A+DPTR
MOV R1,A ;查表得到的第二个字节数据(高8位)送入R1
SJMP $
ORG 2000H
TABLE: DW 0,1,4,9,16,25,36,49,64,81,100,121,144,169
DW
196,225,256,289,324,361,400,441,484,529,576,625,676,729,784,841,900
END

2、
MOVC A,@A+DPTR
MOV R0,A (???)
XCH A,R2 (???)
INC A (???)
MOVC A,@A+DPTR
MOV R1,A (???)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式