用汇编编的求平方程序

来源:百度知道 编辑:UC知道 时间:2024/05/14 04:20:51
我是一个单片机初学者,有一个求平方值的程序我看不懂啊,在这里向各位大侠求助!
有一个变量存放在片内RAM的20H中,其取值范围为:00H—05H,要求编制一段程序,根据变量值得到变量的平方值,并将其存放在片内RAM的21H单元。

ORG 1000H
START:MOV DPTR,#2000H
MOV A,20H
MOVC A,@A+DPTR
MOV 21H,A
SJMP $
TABLE EQU 2000H
TABLE DB 00H,01H,04H,09,10H,19H
END
请教各位大侠,可语句是什么意思及功能

这个是通过查询功能来实现求平方的,因为单片机不适宜用来做大量的运算。
原理是先把00H-05H的平方值都在编译的时候保存的代码里面,然后通过变量获取相应的平方值的地址从而求得。

MOV DPTR,#2000H
把DPTR地址设为2000
MOV A,20H
把20H中的数送到A
MOVC A,@A+DPTR
把地址为A+DPTR中的值送A
MOV 21H,A
把A的值送入21H中
本程序为以查表法求平方的程序