84 lines
1.2 KiB
Plaintext
84 lines
1.2 KiB
Plaintext
fn start() {
|
|
println("Helld!");
|
|
println("Hello World!!!!!");
|
|
thinger();
|
|
println("what");
|
|
print(tester());
|
|
arger("a", "b", "c");
|
|
exit(mul(sub(add(5, 9), 1), 3));
|
|
}
|
|
|
|
fn thinger() {
|
|
print("estamos jugando\n");
|
|
}
|
|
|
|
fn unused() {
|
|
print("el unused\n");
|
|
}
|
|
|
|
fn println(msg: slice<8>) {
|
|
print(msg);
|
|
print("\n");
|
|
}
|
|
|
|
fn print(msg: slice<8>) {
|
|
asm (a1 = msg) {
|
|
ld a2, 8, a1
|
|
ld a1, 0, a1
|
|
li a0, 1
|
|
li a7, 64
|
|
ecall
|
|
}
|
|
}
|
|
|
|
fn add(a: 64, b: 64) -> 64 {
|
|
let c: 64 = 0;
|
|
asm (t0 = a, t1 = b, a0 = c) {
|
|
ld t0, 0, t0
|
|
ld t1, 0, t1
|
|
add t0, t0, t1
|
|
sd t0, 0, a0
|
|
};
|
|
c
|
|
}
|
|
|
|
fn mul(a: 64, b: 64) -> 64 {
|
|
let c: 64 = 0;
|
|
asm (t0 = a, t1 = b, a0 = c) {
|
|
ld t0, 0, t0
|
|
ld t1, 0, t1
|
|
mul t0, t0, t1
|
|
sd t0, 0, a0
|
|
};
|
|
c
|
|
}
|
|
|
|
fn sub(a: 64, b: 64) -> 64 {
|
|
let c: 64 = 0;
|
|
asm (t0 = a, t1 = b, a0 = c) {
|
|
ld t0, 0, t0
|
|
ld t1, 0, t1
|
|
sub t0, t0, t1
|
|
sd t0, 0, a0
|
|
};
|
|
c
|
|
}
|
|
|
|
fn arger(a: slice<8>, b: slice<8>, c: slice<8>) {
|
|
print(a);
|
|
print(b);
|
|
println(c);
|
|
}
|
|
|
|
fn exit(status: 64) {
|
|
asm (a0 = status) {
|
|
ld a0, 0, a0
|
|
li a7, 93
|
|
ecall
|
|
};
|
|
}
|
|
|
|
fn tester() -> slice<8> {
|
|
"hola\n"
|
|
}
|