12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- .define .mon
- .sect .text
- .sect .rom
- .sect .data
- .sect .bss
- .sect .text
- .sect .text
- .mon:
- cmpd 1,4(sp)
- beq 1f
- cmpd 3,4(sp)
- beq 3f
- cmpd 4,4(sp)
- beq 4f
- cmpd 54,4(sp)
- beq 5f
- movd .add1, tos
- jsr @.prstr
- movd 4(sp), tos
- jsr @.print
- movd .add2, tos
- jsr @.prstr
- ret 4
- 1: jump @.stop
- 3: save [r0,r1,r2,r3]
- movd 3,r0
- movd 28(sp),r1
- movd 32(sp),r2
- movd 0,r3
- svc
- movd r2, 32(sp)
- movd 0,28(sp)
- restore [r0,r1,r2,r3]
- ret 8
- 4: save [r0,r1,r2,r3]
- movd 4,r0
- movd 28(sp),r1
- movd 32(sp),r2
- movd 0,r3
- svc
- movd r2, 32(sp)
- movd 0,28(sp)
- restore [r0,r1,r2,r3]
- ret 8
- 5: movd 0, 16(sp)
- ret 12
- .sect .data
- .add1: .asciz "monitor call "
- .add2: .asciz " not implemented\n"
- .align
|