public
/
Ack-5.5.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
Pristine Ack-5.5
[Ack-5.5.git]
/
mach
/
z80
/
libmon
/
head_em.s
1
.define EARRAY,ERANGE,EILLINS,EILLSIZE,ECASE,EMON,EHEAP
2
.define hol0,trapproc,trpim,argv,hp,.reghp,envp,begbss,ignmask
3
.define savebc,savede,savehl,saveix,saveaf,saveiy,ebadmon
4
.define WRITE,EXIT
5
.sect .text
6
.sect .rom
7
.sect .data
8
.sect .bss
9
.sect .text
10
EARRAY = 0
11
ERANGE = 1
12
EHEAP = 17
13
EILLINS=18
14
EILLSIZE=19
15
ECASE=20
16
EMON=25
17
ebadmon=25
18
19
20
.sect .text
21
22
! clear .sect .bss
23
ld sp,0x7ffe !address of fbase
24
ld de,endbss
25
ld h,d
26
ld l,e
27
ld bc,begbss
28
xor a ! to clear carry
29
sbc hl,bc
30
ld a,h
31
or l
32
jr z,1f
33
2:
34
xor a
35
ld (de),a
36
dec de
37
dec hl
38
ld a,h
39
or l
40
jr nz,2b
41
1: ! hl == 0
42
43
ld bc,envp
44
push bc
45
ld bc,argv
46
push bc
47
ld bc,1
48
push bc
49
call __m_a_i_n
50
EXIT:
51
jp 0x20
52
WRITE:
53
jp __write
54
55
.sect .bss
56
begbss:
57
.sect .data
58
hol0:
59
.data2 0,0
60
.data2 0,0
61
saveaf:
62
.data2 0
63
savebc:
64
.data2 0
65
savede:
66
.data2 0
67
savehl:
68
.data2 0
69
saveix:
70
.data2 0
71
saveiy:
72
.data2 0
73
ignmask:
74
.data2 0
75
hp:
76
.data2 0
77
trapproc:
78
.data2 0
79
trpim:
80
.data2 0
81
argv:
82
.data2 3f
83
envp:
84
.data2 0
85
3:
86
.asciz 'PROGRAM'
87
.reghp:
88
.data2 endbss