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" }