1
0
Files
entorn/MathWorld/src/MathWorld.c
2025-11-16 09:12:50 +01:00

34 lines
1.1 KiB
C

#include <stdio.h>
extern long long int aa_add(long long int a, long long int b);
extern long long int aa_sub(long long int a, long long int b);
extern long long int aa_mul(long long int a, long long int b);
extern long long int aa_madd(long long int a, long long int b, long long int c);
extern long long int aa_udiv(long long int a, long long int b);
extern double aa_fadd(double d, double e);
extern double aa_fdiv(double d, double e);
int main(void)
{
long long int a = 3;
long long int b = 2;
long long int c = 2;
double d = 3.2;
double e = 1.6;
printf("ARM ASSEMBLY 64-bit Integer Operations\n");
printf("ADD x0 %d x1 %d RET %d\n", a, b, aa_add(a, b));
printf("SUB x0 %d x1 %d RET %d\n", a, b, aa_sub(a, b));
printf("MUL x0 %d x1 %d RET %d\n", a, b, aa_mul(a, b));
printf("MADD x0 %d x1 %d x2 %d RET %d\n", a, b, c, aa_madd(a, b, c));
printf("UDIV x0 %d x1 %d RET %d\n", a, b, aa_udiv(a, b));
printf("ARM ASSEMBLY 64-bit Floating Point Operations\n");
printf("FADD d0 %lf d1 %lf RET %lf\n", d, e, aa_fadd(d, e));
printf("FDIV d0 %lf d1 %lf RET %lf\n", d, e, aa_fdiv(d, e));
return (0);
}