Files
aster-core/apps/calc_app.c
T
2026-07-12 05:44:42 +02:00

72 lines
1.2 KiB
C

/*
* AsterOS Kernel
* Autor: Pavel Kalas
* Rok: 2026
*
*/
/*
* Ukazkova C aplikace nad Aster API. Aplikace predvadi jednoduchou
* kalkulacku a muze slouzit jako sablona pro dalsi user-space programy.
*/
#include "aster_api.h"
static void append_number(char *out, int value) {
char tmp[16];
int i = 0;
int j;
int neg = 0;
if (value == 0) {
out[0] = '0';
out[1] = '\0';
return;
}
if (value < 0) {
neg = 1;
value = -value;
}
while (value > 0 && i < 15) {
tmp[i++] = (char)('0' + (value % 10));
value /= 10;
}
j = 0;
if (neg) {
out[j++] = '-';
}
while (i > 0) {
out[j++] = tmp[--i];
}
out[j] = '\0';
}
void app_calc_main(void) {
char n1[16];
char n2[16];
char nr[16];
char line[80];
int a = 24;
int b = 18;
int r = a + b;
append_number(n1, a);
append_number(n2, b);
append_number(nr, r);
line[0] = '\0';
aster_api_print("[calc_app] start\n");
aster_api_print("[calc_app] ");
aster_api_print(n1);
aster_api_print(" + ");
aster_api_print(n2);
aster_api_print(" = ");
aster_api_print(nr);
aster_api_print("\n");
}