Forráskód Böngészése

new version for .o

ceriel 37 éve
szülő
commit
ceb0f75afa

+ 1 - 1
mach/z80/libem/LIST

@@ -1,4 +1,4 @@
-tail_em.a
+libem_s.a
 aaru.s
 aar.s
 aar2.s

+ 22 - 10
mach/z80/libem/Makefile

@@ -1,17 +1,29 @@
 # $Header$
-install:
-	../../install tail_em.a tail_em
-	../../install tail.s end_em
+MACH=z80
+all:		libem_o.a end.o
 
-cmp:
-	-../../compare tail_em.a tail_em
-	-../../compare tail.s end_em
+install: 	all
+		../../install end.o 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 :
-	make pr | opr
+		make pr | opr
 
 pr:
-	@arch pv tail_em.a | pr -h `pwd`/tail_em.a
-	@pr `pwd`/tail.s
+		@pr `pwd`/end.s
+		@arch pv libem_s.a | pr -h `pwd`/libem_s.a

+ 5 - 0
mach/z80/libem/aar.s

@@ -1,4 +1,9 @@
 .define .aar
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 ! use .mli2
 
 ! 2-byte descriptor elements

+ 5 - 0
mach/z80/libem/aar2.s

@@ -1,4 +1,9 @@
 .define .aar2
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 
 ! special case aar: element size = 2 (statically known)
 ! parameters:

+ 5 - 0
mach/z80/libem/aaru.s

@@ -1,4 +1,9 @@
 .define .aaru
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 
 ! AAR NOT DEFINED
 

+ 5 - 0
mach/z80/libem/and.s

@@ -1,4 +1,9 @@
 .define .and
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 
 ! auxiliary size 'and'
 ! parameters:

+ 6 - 1
mach/z80/libem/cii.s

@@ -1,4 +1,10 @@
 .define .cii
+.define .cuu
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 
 ! cii: convert integer to integer
 ! parameters:
@@ -107,7 +113,6 @@
 
 
 
-.define .cuu
 
 ! cuu: convert unsigned to unsigned
 ! parameters:

+ 5 - 0
mach/z80/libem/cms.s

@@ -1,4 +1,9 @@
 .define .cms
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 
 ! any size sets
 ! parameters:

+ 5 - 0
mach/z80/libem/cmu.s

@@ -1,4 +1,9 @@
 .define .cmu
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 
 ! parameters:
 !   hl   :  size (#bytes)

+ 7 - 2
mach/z80/libem/cmu4.s

@@ -1,4 +1,9 @@
 .define .cmu4
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 
 ! 4 byte cmu and cmi routine
 ! parameters:
@@ -56,5 +61,5 @@
 	inc hl
 	ld sp,hl
 	jp (ix)
-.data
-savesp: .word 0
+.sect .data
+savesp: .data2 0

+ 5 - 0
mach/z80/libem/csa.s

@@ -1,4 +1,9 @@
 .define .csa
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 
 ! this is not a subroutine, but just a
 ! piece of code that computes the jump-

+ 5 - 0
mach/z80/libem/csb.s

@@ -1,4 +1,9 @@
 .define .csb
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 
 ! this is not a subroutine, but just a
 ! piece of code that computes the jump-

+ 5 - 0
mach/z80/libem/dvi2.s

@@ -1,4 +1,9 @@
 .define .dvi2
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 
 ! 16-bit signed division
 ! parameters:

+ 11 - 6
mach/z80/libem/dvi4.s

@@ -1,4 +1,9 @@
 .define .dvi4
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 
 ! 4-byte divide routine for z80
 ! parameters:
@@ -77,9 +82,9 @@
 	push bc
 	push de
 	jp (ix)
-.data
-	.flag1: .byte 0
-	.flag2: .byte 0
-	retaddr:.word 0
-	.savebc: .word 0
-	.savede: .word 0
+.sect .data
+	.flag1: .data1 0
+	.flag2: .data1 0
+	retaddr:.data2 0
+	.savebc: .data2 0
+	.savede: .data2 0

+ 5 - 0
mach/z80/libem/dvu2.s

@@ -1,4 +1,9 @@
 .define .dvu2
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 
 ! 16-bit divide
 ! parameters:

+ 11 - 6
mach/z80/libem/dvu4.s

@@ -1,4 +1,9 @@
 .define .dvu4
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 
 ! 4-byte divide routine for z80
 ! parameters:
@@ -129,9 +134,9 @@
 	ld hl,(.retaddr)
 	jp (hl)		! return
 
-.data
-.flag:		.byte 0
-.low:		.word 0
-.iysave:	.word 0
-.retaddr:	.word 0
-.result:	.word 0
+.sect .data
+.flag:		.data1 0
+.low:		.data2 0
+.iysave:	.data2 0
+.retaddr:	.data2 0
+.result:	.data2 0

+ 5 - 3
mach/z80/libem/end.s

@@ -1,15 +1,17 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
 .define	endtext,enddata,endbss
 .define _end,_etext,_edata
 
-	.text
+        ! $Header$
+	.sect .text
 endtext:
 _etext:
 	.align 2
-	.data
+	.sect .data
 enddata:
 _edata:
 	.align 2
-	.bss
+.sect .endsect
 _end:
 endbss:
 	.align 2

+ 5 - 0
mach/z80/libem/exg.s

@@ -1,4 +1,9 @@
 .define .exg
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 .exg:	
 	pop ix
 	pop de

+ 5 - 0
mach/z80/libem/gto.s

@@ -1,4 +1,9 @@
 .define .gto
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 
 .gto:
 	ld e,(hl)

+ 8 - 3
mach/z80/libem/hulp.s

@@ -1,3 +1,8 @@
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 loop = 100
 dvi4:
 	xor a
@@ -57,6 +62,6 @@ dvi4:
 	push hl
 	push de
 	jp (iy)
-.data
-	.flag1: .byte 0
-	.flag2: .byte 0
+.sect .data
+	.flag1: .data1 0
+	.flag2: .data1 0

+ 5 - 0
mach/z80/libem/inn.s

@@ -1,4 +1,9 @@
 .define .inn
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 ! use .unimpld
 
 ! any size sets

+ 5 - 0
mach/z80/libem/ior.s

@@ -1,4 +1,9 @@
 .define .ior
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 
 ! auxiliary size 'ior'
 ! parameters:

+ 5 - 0
mach/z80/libem/lar.s

@@ -1,4 +1,9 @@
 .define .lar
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 ! use .mli2
 
 ! 2-byte descriptor elements

+ 5 - 0
mach/z80/libem/lar2.s

@@ -1,4 +1,9 @@
 .define .lar2
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 
 ! special case lar: element size = 2 (statically known)
 ! parameters:

+ 5 - 0
mach/z80/libem/laru.s

@@ -1,4 +1,9 @@
 .define .laru
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 
 ! LAR NOT DEFINED
 

+ 5 - 0
mach/z80/libem/los.s

@@ -1,4 +1,9 @@
 .define .los
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 
 
 

+ 5 - 0
mach/z80/libem/mli2.s

@@ -1,4 +1,9 @@
 .define .mli2
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 
 ! 16 bit multiply
 ! parameters:

+ 7 - 2
mach/z80/libem/mli4.s

@@ -1,4 +1,9 @@
 .define .mli4
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 
 ! 32-bit multiply routine for z80
 ! parameters:
@@ -70,6 +75,6 @@
 			! on stack!  put return address in hl
 	push ix		! least sign. 2 bytes of result
 	jp (hl)		! return
-.data
-.flag:  .byte 0
+.sect .data
+.flag:  .data1 0
 .mplier: .space 4

+ 6 - 1
mach/z80/libem/nop.s

@@ -1,6 +1,11 @@
+.define .nop
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 
 
-.define .nop
 
 ! NOP
 ! changed into output routine to print linenumber

+ 9 - 4
mach/z80/libem/outdec.s

@@ -1,4 +1,9 @@
 .define outdec
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 ! output contents of HL as a sequence
 ! of decimal digits
 outdec:
@@ -47,7 +52,7 @@ convert:
 	pop	bc
 	ret
 table:
-	.short	10000
-	.short	1000
-	.short	100
-	.short	10
+	.data2	10000
+	.data2	1000
+	.data2	100
+	.data2	10

+ 6 - 1
mach/z80/libem/pstrng.s

@@ -1,6 +1,11 @@
+.define	pstrng
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 
 
-.define	pstrng
 ! print a string of characters to the console
 ! entry: DE points to string
 !	 string terminator is 0x00

+ 5 - 0
mach/z80/libem/rck.s

@@ -1,4 +1,9 @@
 .define .rck
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 .rck:
 	pop bc
 	pop ix

+ 5 - 0
mach/z80/libem/rmi2.s

@@ -1,4 +1,9 @@
 .define .rmi2
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 
 ! 16-bit signed remainder
 ! parameters:

+ 5 - 0
mach/z80/libem/sar.s

@@ -1,4 +1,9 @@
 .define .sar
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 ! use .mli2
 ! use .trp.z
 

+ 5 - 0
mach/z80/libem/sar2.s

@@ -1,4 +1,9 @@
 .define .sar2
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 
 ! special case sar: element size = 2 (statically known)
 ! parameters:

+ 5 - 0
mach/z80/libem/saru.s

@@ -1,4 +1,9 @@
 .define .saru
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 
 ! SAR NOT DEFINED
 

+ 5 - 0
mach/z80/libem/sdf.s

@@ -1,4 +1,9 @@
 .define .sdf
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 
 ! store double offsetted
 

+ 5 - 0
mach/z80/libem/sdl.s

@@ -1,4 +1,9 @@
 .define .sdl
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 
 ! store double local at any offset
 ! parameters:

+ 5 - 0
mach/z80/libem/set.s

@@ -1,4 +1,9 @@
 .define .set
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 ! use .unimpld
 
 ! any size sets

+ 5 - 0
mach/z80/libem/str.s

@@ -1,4 +1,9 @@
 .define .strhp
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 
 .strhp:
 	pop ix

+ 5 - 0
mach/z80/libem/sts.s

@@ -1,4 +1,9 @@
 .define .sts
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 ! use trp.z
 
 ! object size given by 2-byte integer on

+ 5 - 0
mach/z80/libem/trp.s

@@ -1,4 +1,9 @@
 .define .trp.z
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 
 ! changed into output routine to print errornumber
 

+ 5 - 0
mach/z80/libem/unim.s

@@ -1,4 +1,9 @@
 .define unimpld, e.mon, e.rck, .trp.z, .unimpld
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 
 .unimpld:
 unimpld:		! used in dispatch table to

+ 5 - 0
mach/z80/libem/xor.s

@@ -1,4 +1,9 @@
 .define .xor
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
 
 ! auxiliary size 'xor'
 ! parameters: