1234567891011121314151617181920212223242526272829303132333435363738394041 |
- .define prf
- .sect .text
- .sect .rom
- .sect .data
- .sect .bss
- .sect .text
- prf:
- ld R0, hol0+4 !pointer to filename
- cp R0, $0
- jr EQ, 1f
- ld R2, R0
- ld R1, $40
- 3: !test filename on bad characters
- ldb R3, 0(R2)
- cpb R3, $0
- jr EQ, 2f
- cpb R3, $0177
- jr GE, 1f
- cpb R3, $040
- jr LT, 1f
- inc R2
- djnz R1, 3b
- clrb 0(R2)
- 2: push *RR14, hol0
- ld R1, R15
- push *RR14, R1
- push *RR14, R0
- push *RR14, $fmt1
- calr printf
- popl saveprf, *RR14 !return address
- calr printf !because of call from 'noop'
- pushl *RR14, saveprf
- ret
- 1: ld R0, $name
- jr 2b
- .sect .data
- fmt1: .asciz "%s, sp = %x, line %d:\n"
- name: .asciz "_unknown file_"
- saveprf:
- .data4 0
|