new version for .o
This commit is contained in:
parent
9cd6325ee1
commit
1ac26f9b67
|
@ -1,4 +1,4 @@
|
||||||
tail_em.a
|
libem_s.a
|
||||||
aaru.s
|
aaru.s
|
||||||
aar.s
|
aar.s
|
||||||
aar2.s
|
aar2.s
|
||||||
|
|
|
@ -1,17 +1,29 @@
|
||||||
# $Header$
|
# $Header$
|
||||||
install:
|
MACH=z80
|
||||||
../../install tail_em.a tail_em
|
all: libem_o.a end.o
|
||||||
../../install tail.s end_em
|
|
||||||
|
|
||||||
cmp:
|
install: all
|
||||||
-../../compare tail_em.a tail_em
|
../../install end.o end_em
|
||||||
-../../compare tail.s end_em
|
../../install libem_o.a tail_em
|
||||||
|
|
||||||
clean :
|
|
||||||
|
cmp: all
|
||||||
|
-../../compare end.o end_em
|
||||||
|
-../../compare libem_o.a tail_em
|
||||||
|
|
||||||
|
libem_o.a: libem_s.a
|
||||||
|
ASAR=aal ; export ASAR ;\
|
||||||
|
march . libem_o.a
|
||||||
|
|
||||||
|
end.o: end.s
|
||||||
|
$(MACH) -I../../../h -c end.s
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *.o libem_o.a
|
||||||
|
|
||||||
opr :
|
opr :
|
||||||
make pr | opr
|
make pr | opr
|
||||||
|
|
||||||
pr:
|
pr:
|
||||||
@arch pv tail_em.a | pr -h `pwd`/tail_em.a
|
@pr `pwd`/end.s
|
||||||
@pr `pwd`/tail.s
|
@arch pv libem_s.a | pr -h `pwd`/libem_s.a
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .aar
|
.define .aar
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
! use .mli2
|
! use .mli2
|
||||||
|
|
||||||
! 2-byte descriptor elements
|
! 2-byte descriptor elements
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .aar2
|
.define .aar2
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
|
|
||||||
! special case aar: element size = 2 (statically known)
|
! special case aar: element size = 2 (statically known)
|
||||||
! parameters:
|
! parameters:
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .aaru
|
.define .aaru
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
|
|
||||||
! AAR NOT DEFINED
|
! AAR NOT DEFINED
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .and
|
.define .and
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
|
|
||||||
! auxiliary size 'and'
|
! auxiliary size 'and'
|
||||||
! parameters:
|
! parameters:
|
||||||
|
|
|
@ -1,4 +1,10 @@
|
||||||
.define .cii
|
.define .cii
|
||||||
|
.define .cuu
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
|
|
||||||
! cii: convert integer to integer
|
! cii: convert integer to integer
|
||||||
! parameters:
|
! parameters:
|
||||||
|
@ -107,7 +113,6 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.define .cuu
|
|
||||||
|
|
||||||
! cuu: convert unsigned to unsigned
|
! cuu: convert unsigned to unsigned
|
||||||
! parameters:
|
! parameters:
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .cms
|
.define .cms
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
|
|
||||||
! any size sets
|
! any size sets
|
||||||
! parameters:
|
! parameters:
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .cmu
|
.define .cmu
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
|
|
||||||
! parameters:
|
! parameters:
|
||||||
! hl : size (#bytes)
|
! hl : size (#bytes)
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .cmu4
|
.define .cmu4
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
|
|
||||||
! 4 byte cmu and cmi routine
|
! 4 byte cmu and cmi routine
|
||||||
! parameters:
|
! parameters:
|
||||||
|
@ -56,5 +61,5 @@
|
||||||
inc hl
|
inc hl
|
||||||
ld sp,hl
|
ld sp,hl
|
||||||
jp (ix)
|
jp (ix)
|
||||||
.data
|
.sect .data
|
||||||
savesp: .word 0
|
savesp: .data2 0
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .csa
|
.define .csa
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
|
|
||||||
! this is not a subroutine, but just a
|
! this is not a subroutine, but just a
|
||||||
! piece of code that computes the jump-
|
! piece of code that computes the jump-
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .csb
|
.define .csb
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
|
|
||||||
! this is not a subroutine, but just a
|
! this is not a subroutine, but just a
|
||||||
! piece of code that computes the jump-
|
! piece of code that computes the jump-
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .dvi2
|
.define .dvi2
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
|
|
||||||
! 16-bit signed division
|
! 16-bit signed division
|
||||||
! parameters:
|
! parameters:
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .dvi4
|
.define .dvi4
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
|
|
||||||
! 4-byte divide routine for z80
|
! 4-byte divide routine for z80
|
||||||
! parameters:
|
! parameters:
|
||||||
|
@ -77,9 +82,9 @@
|
||||||
push bc
|
push bc
|
||||||
push de
|
push de
|
||||||
jp (ix)
|
jp (ix)
|
||||||
.data
|
.sect .data
|
||||||
.flag1: .byte 0
|
.flag1: .data1 0
|
||||||
.flag2: .byte 0
|
.flag2: .data1 0
|
||||||
retaddr:.word 0
|
retaddr:.data2 0
|
||||||
.savebc: .word 0
|
.savebc: .data2 0
|
||||||
.savede: .word 0
|
.savede: .data2 0
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .dvu2
|
.define .dvu2
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
|
|
||||||
! 16-bit divide
|
! 16-bit divide
|
||||||
! parameters:
|
! parameters:
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .dvu4
|
.define .dvu4
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
|
|
||||||
! 4-byte divide routine for z80
|
! 4-byte divide routine for z80
|
||||||
! parameters:
|
! parameters:
|
||||||
|
@ -129,9 +134,9 @@
|
||||||
ld hl,(.retaddr)
|
ld hl,(.retaddr)
|
||||||
jp (hl) ! return
|
jp (hl) ! return
|
||||||
|
|
||||||
.data
|
.sect .data
|
||||||
.flag: .byte 0
|
.flag: .data1 0
|
||||||
.low: .word 0
|
.low: .data2 0
|
||||||
.iysave: .word 0
|
.iysave: .data2 0
|
||||||
.retaddr: .word 0
|
.retaddr: .data2 0
|
||||||
.result: .word 0
|
.result: .data2 0
|
||||||
|
|
|
@ -1,15 +1,17 @@
|
||||||
|
.sect .text; .sect .rom; .sect .data; .sect .bss
|
||||||
.define endtext,enddata,endbss
|
.define endtext,enddata,endbss
|
||||||
.define _end,_etext,_edata
|
.define _end,_etext,_edata
|
||||||
|
|
||||||
.text
|
! $Header$
|
||||||
|
.sect .text
|
||||||
endtext:
|
endtext:
|
||||||
_etext:
|
_etext:
|
||||||
.align 2
|
.align 2
|
||||||
.data
|
.sect .data
|
||||||
enddata:
|
enddata:
|
||||||
_edata:
|
_edata:
|
||||||
.align 2
|
.align 2
|
||||||
.bss
|
.sect .endsect
|
||||||
_end:
|
_end:
|
||||||
endbss:
|
endbss:
|
||||||
.align 2
|
.align 2
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .exg
|
.define .exg
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
.exg:
|
.exg:
|
||||||
pop ix
|
pop ix
|
||||||
pop de
|
pop de
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .gto
|
.define .gto
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
|
|
||||||
.gto:
|
.gto:
|
||||||
ld e,(hl)
|
ld e,(hl)
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
loop = 100
|
loop = 100
|
||||||
dvi4:
|
dvi4:
|
||||||
xor a
|
xor a
|
||||||
|
@ -57,6 +62,6 @@ dvi4:
|
||||||
push hl
|
push hl
|
||||||
push de
|
push de
|
||||||
jp (iy)
|
jp (iy)
|
||||||
.data
|
.sect .data
|
||||||
.flag1: .byte 0
|
.flag1: .data1 0
|
||||||
.flag2: .byte 0
|
.flag2: .data1 0
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .inn
|
.define .inn
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
! use .unimpld
|
! use .unimpld
|
||||||
|
|
||||||
! any size sets
|
! any size sets
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .ior
|
.define .ior
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
|
|
||||||
! auxiliary size 'ior'
|
! auxiliary size 'ior'
|
||||||
! parameters:
|
! parameters:
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .lar
|
.define .lar
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
! use .mli2
|
! use .mli2
|
||||||
|
|
||||||
! 2-byte descriptor elements
|
! 2-byte descriptor elements
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .lar2
|
.define .lar2
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
|
|
||||||
! special case lar: element size = 2 (statically known)
|
! special case lar: element size = 2 (statically known)
|
||||||
! parameters:
|
! parameters:
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .laru
|
.define .laru
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
|
|
||||||
! LAR NOT DEFINED
|
! LAR NOT DEFINED
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .los
|
.define .los
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .mli2
|
.define .mli2
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
|
|
||||||
! 16 bit multiply
|
! 16 bit multiply
|
||||||
! parameters:
|
! parameters:
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .mli4
|
.define .mli4
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
|
|
||||||
! 32-bit multiply routine for z80
|
! 32-bit multiply routine for z80
|
||||||
! parameters:
|
! parameters:
|
||||||
|
@ -70,6 +75,6 @@
|
||||||
! on stack! put return address in hl
|
! on stack! put return address in hl
|
||||||
push ix ! least sign. 2 bytes of result
|
push ix ! least sign. 2 bytes of result
|
||||||
jp (hl) ! return
|
jp (hl) ! return
|
||||||
.data
|
.sect .data
|
||||||
.flag: .byte 0
|
.flag: .data1 0
|
||||||
.mplier: .space 4
|
.mplier: .space 4
|
||||||
|
|
|
@ -1,6 +1,11 @@
|
||||||
|
|
||||||
|
|
||||||
.define .nop
|
.define .nop
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
! NOP
|
! NOP
|
||||||
! changed into output routine to print linenumber
|
! changed into output routine to print linenumber
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define outdec
|
.define outdec
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
! output contents of HL as a sequence
|
! output contents of HL as a sequence
|
||||||
! of decimal digits
|
! of decimal digits
|
||||||
outdec:
|
outdec:
|
||||||
|
@ -47,7 +52,7 @@ convert:
|
||||||
pop bc
|
pop bc
|
||||||
ret
|
ret
|
||||||
table:
|
table:
|
||||||
.short 10000
|
.data2 10000
|
||||||
.short 1000
|
.data2 1000
|
||||||
.short 100
|
.data2 100
|
||||||
.short 10
|
.data2 10
|
||||||
|
|
|
@ -1,6 +1,11 @@
|
||||||
|
|
||||||
|
|
||||||
.define pstrng
|
.define pstrng
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
|
|
||||||
|
|
||||||
! print a string of characters to the console
|
! print a string of characters to the console
|
||||||
! entry: DE points to string
|
! entry: DE points to string
|
||||||
! string terminator is 0x00
|
! string terminator is 0x00
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .rck
|
.define .rck
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
.rck:
|
.rck:
|
||||||
pop bc
|
pop bc
|
||||||
pop ix
|
pop ix
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .rmi2
|
.define .rmi2
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
|
|
||||||
! 16-bit signed remainder
|
! 16-bit signed remainder
|
||||||
! parameters:
|
! parameters:
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .sar
|
.define .sar
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
! use .mli2
|
! use .mli2
|
||||||
! use .trp.z
|
! use .trp.z
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .sar2
|
.define .sar2
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
|
|
||||||
! special case sar: element size = 2 (statically known)
|
! special case sar: element size = 2 (statically known)
|
||||||
! parameters:
|
! parameters:
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .saru
|
.define .saru
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
|
|
||||||
! SAR NOT DEFINED
|
! SAR NOT DEFINED
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .sdf
|
.define .sdf
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
|
|
||||||
! store double offsetted
|
! store double offsetted
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .sdl
|
.define .sdl
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
|
|
||||||
! store double local at any offset
|
! store double local at any offset
|
||||||
! parameters:
|
! parameters:
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .set
|
.define .set
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
! use .unimpld
|
! use .unimpld
|
||||||
|
|
||||||
! any size sets
|
! any size sets
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .strhp
|
.define .strhp
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
|
|
||||||
.strhp:
|
.strhp:
|
||||||
pop ix
|
pop ix
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .sts
|
.define .sts
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
! use trp.z
|
! use trp.z
|
||||||
|
|
||||||
! object size given by 2-byte integer on
|
! object size given by 2-byte integer on
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .trp.z
|
.define .trp.z
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
|
|
||||||
! changed into output routine to print errornumber
|
! changed into output routine to print errornumber
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define unimpld, e.mon, e.rck, .trp.z, .unimpld
|
.define unimpld, e.mon, e.rck, .trp.z, .unimpld
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
|
|
||||||
.unimpld:
|
.unimpld:
|
||||||
unimpld: ! used in dispatch table to
|
unimpld: ! used in dispatch table to
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
.define .xor
|
.define .xor
|
||||||
|
.sect .text
|
||||||
|
.sect .rom
|
||||||
|
.sect .data
|
||||||
|
.sect .bss
|
||||||
|
.sect .text
|
||||||
|
|
||||||
! auxiliary size 'xor'
|
! auxiliary size 'xor'
|
||||||
! parameters:
|
! parameters:
|
||||||
|
|
Loading…
Reference in a new issue