1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #include "/sys/src/libc/9syscall/sys.h"
- /*
- * we pass in the argument of the exec parameters as 0(FP)
- */
- TEXT main(SB),$8
- MOVW $setR30(SB), R30
- MOVW $boot(SB), R1
- ADD $12, R29, R2 /* get a pointer to 0(FP) */
- MOVW R1, 4(R29)
- MOVW R2, 8(R29)
- JAL exec(SB)
- MOVW $(1<<4), R1
- MOVW R1, 4(R29)
- MOVW $RFORK, R1
- SYSCALL
- MOVW $RFORK, R1
- SYSCALL
- MOVW $RFORK, R1
- SYSCALL
- again:
- ADDU $1, R2
- MOVW $0, R1 /* print r1 */
- SYSCALL
- MOVW $5000000, R3
- foo:
- SUBU $1, R3
- BNE R3, foo
- JMP again
- TEXT exec(SB), $0
- MOVW $EXEC, R1
- SYSCALL
- RET
- DATA boot+0(SB)/5,$"/boot"
- DATA boot+5(SB)/5,$"/boot"
- DATA bootv+0(SB)/4,$boot+6(SB)
- GLOBL boot+0(SB),$11
- GLOBL bootv+0(SB),$8
|