- 49
- 0
- 约1.01万字
- 约 37页
- 2017-05-30 发布于北京
- 举报
例1: 变量a、b均为小于10的正整数,编程计算c=a2+b2,其中变量a、b分别存放在片内RAM的51H和52H单元中,计算结果c存放到片内RAM的53H单元。 解法一:首先把平方表格起始地址0150H存入DPTR,然后把要查数据a或b的索引值送入累加器A中,最后使用查表指令“MOVC A,@A+DPTR” 查表。 解法二:首先把要查数据a或b的索引值送入累加器A中,然后用“ADD A,#data”指令对累加器A进行修正,最后用查表指令“MOVC A,@A+PC” 查表。 数a的索引值的修正值=平方表格首址-下一条指令的PC值 =0150H-0105H=4BH 数b的索引值的修正值=平方表格首址-下一条指令的PC值 =0150H-010BH=45H 4.6 查表程序设计 主程序: TABLE:DB 0,1,4,9, 16,25,36, 49,64,81;0~9平方表 END ORG 0150H SJMP $ MOV 53H,A ;求平方和 ADD A,R0 ;查数b的平方 MOVC A,@A+DPTR ;取数b送到
原创力文档

文档评论(0)