nctref/examples/countwords.nct
2025-07-17 21:02:10 +03:00

49 lines
713 B
Plaintext

@section(".data");
local u8[33] finalstring: "The amount of words in stdin is: ";
local u8[4] answer: "0000";
@section(".text");
extern s32() getchar;
extern s32(s32, u8*, u32) write;
increase: u0() -> {
answer[3] = answer[3] + 1;
if(answer[3] > 57) {
answer[3] = 48;
answer[2] = answer[2] + 1;
if(answer[2] > 57) {
answer[2] = 48;
answer[1] = answer[1] + 1;
if(answer[1] > 57) {
answer[1] = 48;
answer[0] = answer[0] + 1;
if(answer[0] > 57) {
answer[0] = 48;
}
}
}
}
return;
};
main: u0() -> {
loop {
s32 c = getchar();
if(c == -1) {
break;
}
if(c == 32) {
increase();
}
}
write(1, &finalstring, 33);
write(1, &answer, 4);
return;
};