cvw/examples/C/simple/simple.c

35 lines
713 B
C
Raw Normal View History

// simple.C
// David_Harris@hmc.edu 24 December 2021
// Simple illustration of compiling C code
2022-01-11 21:32:30 +00:00
//#include <stdio.h>
#include "util.h"
extern int printf(const char* fmt, ...);
2022-01-11 21:01:48 +00:00
long sum(long N) {
2022-01-11 21:32:30 +00:00
/* long result, i;
result = 0;
2022-01-11 21:01:48 +00:00
for (i=1; i<=N; i++) {
result = result + i;
}
2022-01-11 21:32:30 +00:00
return result; */
int a;
// asm volatile ("li s0, 10;");
asm volatile(
"li %0, 10"
// "csrrs %0, 0xF14, zero" //CSSRS rd, mhartid, 0
: "=r"(a) //output
: //input
: //clobbered
);
return a;
}
int main(void) {
2022-01-11 21:32:30 +00:00
int s[1], expected[1];
s[0] = sum(4);
printf("s = %d\n", s[0]);
expected[0] = 10;
return verify(1, s, expected); // 0 means success
}