1. 首页 > 科技

用查表程序求0~8之间整数的立方 51单片机0到9的平方程序

用查表程序求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;

}