forked from koniifer/ableos
33 lines
577 B
Plaintext
33 lines
577 B
Plaintext
li8(r1, 69);
|
||
li8(r2, 0);
|
||
|
||
if_eq(r1, r2,
|
||
|| puts("Equals!"),
|
||
|| puts("Not equals!"),
|
||
);
|
||
|
||
|
||
tx(); // END OF MAIN
|
||
|
||
/// Inline function – write text to stdout
|
||
fn puts(string) {
|
||
let d = data::str(string);
|
||
li8 (r1, 1); // Write syscall
|
||
li8 (r2, 1); // Stdout handle
|
||
lra16 (r3, r0, d);
|
||
li64 (r4, d.len);
|
||
eca ();
|
||
}
|
||
|
||
fn if_eq(a, b, thenblk, elseblk) {
|
||
let elselbl = declabel();
|
||
let endlbl = declabel();
|
||
|
||
jne(a, b, elselbl);
|
||
thenblk.call();
|
||
jmp16(endlbl);
|
||
|
||
elselbl.here();
|
||
elseblk.call();
|
||
endlbl.here();
|
||
} |