12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- .define EARRAY,ERANGE,EILLINS,EILLSIZE,ECASE,EMON,EHEAP
- .define hol0,trapproc,trpim,argv,hp,.reghp,envp,begbss,ignmask
- .define savebc,savede,savehl,saveix,saveaf,saveiy,ebadmon
- .define WRITE,EXIT
- .sect .text
- .sect .rom
- .sect .data
- .sect .bss
- .sect .text
- EARRAY = 0
- ERANGE = 1
- EHEAP = 17
- EILLINS=18
- EILLSIZE=19
- ECASE=20
- EMON=25
- ebadmon=25
- .sect .text
- ! clear .sect .bss
- ld sp,0x7ffe !address of fbase
- ld de,endbss
- ld h,d
- ld l,e
- ld bc,begbss
- xor a ! to clear carry
- sbc hl,bc
- ld a,h
- or l
- jr z,1f
- 2:
- xor a
- ld (de),a
- dec de
- dec hl
- ld a,h
- or l
- jr nz,2b
- 1: ! hl == 0
- ld bc,envp
- push bc
- ld bc,argv
- push bc
- ld bc,1
- push bc
- call __m_a_i_n
- EXIT:
- jp 0x20
- WRITE:
- jp __write
- .sect .bss
- begbss:
- .sect .data
- hol0:
- .data2 0,0
- .data2 0,0
- saveaf:
- .data2 0
- savebc:
- .data2 0
- savede:
- .data2 0
- savehl:
- .data2 0
- saveix:
- .data2 0
- saveiy:
- .data2 0
- ignmask:
- .data2 0
- hp:
- .data2 0
- trapproc:
- .data2 0
- trpim:
- .data2 0
- argv:
- .data2 3f
- envp:
- .data2 0
- 3:
- .asciz 'PROGRAM'
- .reghp:
- .data2 endbss
|