ack/mach/z8000/libem/head_em.s
1991-03-06 14:26:16 +00:00

63 lines
829 B
ArmAsm

.define EXIT, F_DUM
.define ERANGE, ESET, EHEAP, EILLINS, EODDZ, ECASE, EBADMON
.define hol0, trppc, trpim, reghp, argv, envp
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
EXIT = 0
F_DUM = 0
ERANGE = 1
ESET = 2
EHEAP = 17
EILLINS = 18
EODDZ = 19
ECASE = 20
EBADMON = 25
.sect .text
!clear .sect .bss
ldk R2, $0
ld R3, $endbss
ld R0, R3
sub R0, $begbss
jr EQ, 1f
sra R0
push *RR2, $0
dec R0
jr EQ, 1f
ldl RR4, RR2
dec R5, $2
lddr *RR4, *RR2, R0
1:
ldb RL0, $10 ! echo newline
sc $4
ldl RR14, $0
push *RR14, envp
push *RR14, argv
push *RR14, $1
calr __m_a_i_n
ldl RR14, $0xC00017FC
sc $0
.sect .bss
begbss:
.sect .data
hol0:
.data2 0,0 ! line no
.data2 0,0 ! file
trppc:
.data2 0
trpim:
.data2 0
argv:
envp:
.data2 1f
.data2 0
1: .asciz "program"
reghp:
.data2 endbss