用查表程序求0~8之间整数的立方 51单片机0到9的平方程序
单片机:用查表程序求0-9之间整数的平方
;有些小问题,修改了一下:
ORG 0000H ;程序入口
LJMP MAIN
ORG 0030H
MAIN:
MOV SP,#3FH ;堆栈栈顶设为#3FH
MOV A,31H ;取需要的数
LCALL SS00 ;调用查表程序
MOV R1,A ;结果送R1
SJMP $
ORG 0200
SS00:ADD A,#01H ;指针加1跳过RET
MOVC A,@A+PC ;取结果
RET
TAB:DB 0,1,4,9,16 ,25
DB 36,49,64,81
END
C++计算一个整数的立方
#include<stdio.h>
int main()
{
int n;
scanf("%d", &n);
printf("%d\n", n*n*n);
return 0;
}或者用函数pow,加上头文件#include <math.h>
pow(n, 3);
以PC为基址寄存器,查表求十进制数0~99的立方。
不是很清楚你的要求,以PC为基址寄存器查表,程序会很长
用计算的比查表方便:
BUF DCB '89'
;---------------------------------
LDR R1, =BUF
LDR R0,[R1]
BL atoi
MOV R3,R0
MUL R2,R0,R3
MUL R1,R0,R2
现在R1 是十进制数89的立方
可根据你的实际要求修改一下
用C语言编写一个求立方的程序
#include <stdio.h>
#include<math.h> //pow()所需的头文件
int main(int argc, char *argv[])
{
int a,b;
scanf("%d%d",&a,&b);
double sum=pow(a,b);//调用计算平方的库函数
printf("%.2f",sum);//.2f保留小数点后两位
return 0;
}