Ported to other m68000 systems
This commit is contained in:
		
							parent
							
								
									526d769271
								
							
						
					
					
						commit
						bc6486d7b0
					
				
					 15 changed files with 443 additions and 464 deletions
				
			
		|  | @ -1,65 +1,69 @@ | |||
| INTS=em2_t--- em2_---- em2_t-cp em2_t-c- em2_t--p \
 | ||||
| em4_t--- em4_---- em4_t-cp em4_t-c- em4_t--p | ||||
| P = mloop | ||||
| FILES=deffile $P0 $P1 $P2 $P3 $P4 $P5 $P6 $P7 $P8 $P9 $Pa $Pb $Pc $Pe | ||||
| FILES=deffile $P0 $P1 $P2 $P3 $P4 $P5 $P6 $P7 $P8 $P9 $Pa $Pb $Pc | ||||
| CPP=../../../lib/cpp | ||||
| b=../../../lib/int | ||||
| 
 | ||||
| all:	$(INTS) em | ||||
| 
 | ||||
| em:	em.c | ||||
| 	cc -o em -I../../../h em.c | ||||
| 	$(CC) -o em -I../../../h em.c | ||||
| 
 | ||||
| em2_t---:	$(FILES) | ||||
| em2_t---:	$(FILES) compile | ||||
| 	cat $(FILES) | $(CPP) -P -Dopfreq=0 -Dlast=1 -Dcount=0 -Dtest=1 -Dflow=0 -Dprof=0 >tmp.s | ||||
| 	m68k2 -o em2_t--- tmp.s | ||||
| 	./compile -o em2_t--- tmp.s | ||||
| 	rm -f tmp.s | ||||
| 
 | ||||
| em2_----:	$(FILES) | ||||
| em2_----:	$(FILES) compile | ||||
| 	cat $(FILES) | $(CPP) -P -Dopfreq=0 -Dlast=0 -Dcount=0 -Dtest=0 -Dflow=0 -Dprof=0 >tmp.s | ||||
| 	m68k2 -o em2_---- tmp.s | ||||
| 	./compile -o em2_---- tmp.s | ||||
| 	rm -f tmp.s | ||||
| 
 | ||||
| em2_t-cp:	$(FILES) | ||||
| em2_t-cp:	$(FILES) compile | ||||
| 	cat $(FILES) | $(CPP) -P -Dopfreq=0 -Dlast=1 -Dcount=1 -Dtest=1 -Dflow=0 -Dprof=1 >tmp.s | ||||
| 	m68k2 -o em2_t-cp tmp.s | ||||
| 	./compile -o em2_t-cp tmp.s | ||||
| 	rm -f tmp.s | ||||
| 
 | ||||
| em2_t-c-:	$(FILES) | ||||
| em2_t-c-:	$(FILES) compile | ||||
| 	cat $(FILES) | $(CPP) -P -Dopfreq=0 -Dlast=1 -Dcount=1 -Dtest=1 -Dflow=0 -Dprof=0 >tmp.s | ||||
| 	m68k2 -o em2_t-c- tmp.s | ||||
| 	./compile -o em2_t-c- tmp.s | ||||
| 	rm -f tmp.s | ||||
| 
 | ||||
| em2_t--p:	$(FILES) | ||||
| em2_t--p:	$(FILES) compile | ||||
| 	cat $(FILES) | $(CPP) -P -Dopfreq=0 -Dlast=1 -Dcount=0 -Dtest=1 -Dflow=0 -Dprof=1 >tmp.s | ||||
| 	m68k2 -o em2_t--p tmp.s | ||||
| 	./compile -o em2_t--p tmp.s | ||||
| 	rm -f tmp.s | ||||
| 
 | ||||
| em4_t---:	$(FILES) | ||||
| em4_t---:	$(FILES) compile | ||||
| 	cat $(FILES) | $(CPP) -P -Dlword -Dopfreq=0 -Dlast=1 -Dcount=0 -Dtest=1 -Dflow=0 -Dprof=0 >tmp.s | ||||
| 	m68k2 -o em4_t--- tmp.s | ||||
| 	./compile -o em4_t--- tmp.s | ||||
| 	rm -f tmp.s | ||||
| 
 | ||||
| em4_----:	$(FILES) | ||||
| em4_----:	$(FILES) compile | ||||
| 	cat $(FILES) | $(CPP) -P -Dlword -Dopfreq=0 -Dlast=0 -Dcount=0 -Dtest=0 -Dflow=0 -Dprof=0 >tmp.s | ||||
| 	m68k2 -o em4_---- tmp.s | ||||
| 	./compile -o em4_---- tmp.s | ||||
| 	rm -f tmp.s | ||||
| 
 | ||||
| em4_t-cp:	$(FILES) | ||||
| em4_t-cp:	$(FILES) compile | ||||
| 	cat $(FILES) | $(CPP) -P -Dlword -Dopfreq=0 -Dlast=1 -Dcount=1 -Dtest=1 -Dflow=0 -Dprof=1 >tmp.s | ||||
| 	m68k2 -o em4_t-cp tmp.s | ||||
| 	./compile -o em4_t-cp tmp.s | ||||
| 	rm -f tmp.s | ||||
| 
 | ||||
| em4_t-c-:	$(FILES) | ||||
| em4_t-c-:	$(FILES) compile | ||||
| 	cat $(FILES) | $(CPP) -P -Dlword -Dopfreq=0 -Dlast=1 -Dcount=1 -Dtest=1 -Dflow=0 -Dprof=0 >tmp.s | ||||
| 	m68k2 -o em4_t-c- tmp.s | ||||
| 	./compile -o em4_t-c- tmp.s | ||||
| 	rm -f tmp.s | ||||
| 
 | ||||
| em4_t--p:	$(FILES) | ||||
| em4_t--p:	$(FILES) compile | ||||
| 	cat $(FILES) | $(CPP) -P -Dlword -Dopfreq=0 -Dlast=1 -Dcount=0 -Dtest=1 -Dflow=0 -Dprof=1 >tmp.s | ||||
| 	m68k2 -o em4_t--p tmp.s | ||||
| 	./compile -o em4_t--p tmp.s | ||||
| 	rm -f tmp.s | ||||
| 
 | ||||
| compile:	Makefile | ||||
| 		case `ack_sys` in sun*) MACH=sun2;; pmds*) MACH=pmds4;; \
 | ||||
| 				    m68_sysV_0) MACH=mantra;; *) MACH=m68k4;; \
 | ||||
| 		esac ; echo $$MACH -.m '$$*' > compile; chmod +x compile | ||||
| install:	all | ||||
| 		-mkdir $b24 $b44 | ||||
| 		ls em2_???? | sed 's:em2_\(.*\):cp & $b24/em_\1:' | sh | ||||
|  | @ -74,7 +78,7 @@ cmp: 		all | |||
| 		-cmp em.1 ../../../man/em.1 | ||||
| 
 | ||||
| clean: | ||||
| 		-rm -f *.o *.old a.out em tmp.s $(INTS) | ||||
| 		-rm -f *.o *.old a.out em tmp.s $(INTS) compile | ||||
| 
 | ||||
| opr: | ||||
| 	make pr | opr | ||||
|  |  | |||
|  | @ -72,7 +72,7 @@ | |||
| #define l_8 -16 | ||||
| #define checksize cmp.w #2,d0 ; beq 2f ; cmp.w #4,d0 ; beq 4f ; bra e_oddz | ||||
| #endif | ||||
| #define  adroff move.b	(a3)+,(a1) ;	move.b	(a3)+,1(a1) | ||||
| #define  adroff move.b	(a3)+,(a5) ;	move.b	(a3)+,1(a5) | ||||
| #define	claimstack	tst.b	-1024(sp) | ||||
| #define	locptr	cmp.l	sp,a0 ;\ | ||||
| 		bcc	6f   | ||||
|  |  | |||
|  | @ -1,4 +1,5 @@ | |||
| 	.define	filb | ||||
| 	.define _m_a_i_n | ||||
| 	.define curproc | ||||
| 	.define	pd | ||||
| 	.define	nproc | ||||
|  | @ -20,16 +21,18 @@ | |||
| !		START OF THE PROGRAM | ||||
| !--------------------------------------------------------------------------- | ||||
| 
 | ||||
| 		lea	retarea,a1		!a1 POINTS AT RETURN AREA | ||||
| _m_a_i_n: | ||||
| 		tst.l	(sp)+ | ||||
| 		lea	retarea,a5		!a5 POINTS AT RETURN AREA | ||||
| 		move.l	nd,-(sp)		!nd contains endbss | ||||
| 		bsr	_Xbreak | ||||
| 		add.l	wrd,sp | ||||
| #if	last | ||||
| 		move.l	#126,d0			!initialise lasttable | ||||
| 		lea	lasttable,a5 | ||||
| 0:		clr.l	(a5)+ | ||||
| 		lea	lasttable,a1 | ||||
| 0:		clr.l	(a1)+ | ||||
| 		dbra	d0,0b | ||||
| 		move.l	#-1,(a5) | ||||
| 		move.l	#-1,(a1) | ||||
| 		move.l	#linused-8,linused | ||||
| #endif | ||||
| 		move.l	4(sp),a2 | ||||
|  | @ -71,10 +74,10 @@ emfile:	.asciz	"e.out" | |||
| 		bne	badarg1 | ||||
| 		lea	header,a0 | ||||
| 		move.l	#5,d0			!convert em integer to integer | ||||
| 0:		add.l	#4,a1 | ||||
| 		move.b	(a0)+,-(a1) ;	move.b	(a0)+,-(a1) | ||||
| 		move.b	(a0)+,-(a1) ;	move.b	(a0)+,-(a1) | ||||
| 		move.l	(a1),-4(a0) ;	dbra	d0,0b | ||||
| 0:		add.l	#4,a5 | ||||
| 		move.b	(a0)+,-(a5) ;	move.b	(a0)+,-(a5) | ||||
| 		move.b	(a0)+,-(a5) ;	move.b	(a0)+,-(a5) | ||||
| 		move.l	(a5),-4(a0) ;	dbra	d0,0b | ||||
| 		move.l	nd,a0	;	move.l	a0,pb	!Bottom emtext | ||||
| 		add.l	ntext,a0 ;	move.l	a0,pd	!proc. descr. base | ||||
| 		move.l	nproc,d1 ;	asl.l	#3,d1	!2 pointers | ||||
|  | @ -101,19 +104,21 @@ emfile:	.asciz	"e.out" | |||
| lblbuf:		sub.l	#2048,sp | ||||
| 		claimstack | ||||
| 		move.l	sp,a4				!transport  ptr a4 | ||||
| 		move.l	sp,a5 | ||||
| 		move.l	sp,a1 | ||||
| 		move.l	a1,-(sp) | ||||
| 		move.l	#2048,-(sp) ;	move.l	a4,-(sp) | ||||
| 		mov	savefd,-(sp) ;	bsr	_Xread | ||||
| 		testen	(sp)+	;	bne	badarg | ||||
| 		move.l	(sp)+,d0 | ||||
| 		move.l	(sp)+,a1 | ||||
| 		cmp.l	#2048,d0 ;	bcs	0f | ||||
| 		add.l	#1024,a5 ;	bra	1f	!a5 =buffer middle | ||||
| 0:		add.l	d0,a5				!a5 = buffer end | ||||
| 		add.l	#1024,a1 ;	bra	1f	!a1 =buffer middle | ||||
| 0:		add.l	d0,a1				!a1 = buffer end | ||||
| 1:		move.l	eb,a3		!At a3 filling has to start | ||||
| 		clr.l	d1	;	clr.l	d2 | ||||
| 		move.l	#datswi,a6 | ||||
| 
 | ||||
| datloop:	cmp.l	a4,a5	;	bhi	9f	!Go on filling data | ||||
| datloop:	cmp.l	a4,a1	;	bhi	9f	!Go on filling data | ||||
| 		bsr	blshift		!shift block down , read next block | ||||
| 9:		sub.l	#1,ndata ;	blt	finito | ||||
| 		move.b	(a4)+,d1 ;	beq	dat0	!type byte in d1 | ||||
|  | @ -126,10 +131,10 @@ datswi:	.data4	dat1;	.data4	dat2;	.data4	dat3;	.data4	dat4 | |||
| 	.data4	dat5;	.data4	dat6;	.data4	dat6;	.data4	dofloat | ||||
| 	.sect .text | ||||
| 
 | ||||
| dat0:		add.l	#4,a1 | ||||
| 		move.b	(a4)+,-(a1) ;	move.b	(a4)+,-(a1) | ||||
| 		move.b	(a4)+,-(a1) ;	move.b	(a4)+,-(a1) | ||||
| 		move.l	(a1),d0 ;	move.l	a3,d4	!d0 =count | ||||
| dat0:		add.l	#4,a5 | ||||
| 		move.b	(a4)+,-(a5) ;	move.b	(a4)+,-(a5) | ||||
| 		move.b	(a4)+,-(a5) ;	move.b	(a4)+,-(a5) | ||||
| 		move.l	(a5),d0 ;	move.l	a3,d4	!d0 =count | ||||
| 		sub.l	a2,d4	!reconstruct byte count of previous describtor | ||||
| 		sub.l	#1,d0	;	sub.l	#1,d4 | ||||
| 1:		move.l	d4,d3 | ||||
|  | @ -167,18 +172,21 @@ dofloat:	add.l	d2,a3 | |||
| atof:		tst.b	(a4)+	;	bne	atof	 | ||||
| 		rts | ||||
| 
 | ||||
| blshift:	move.l	a5,a0	;	move.l	#1024,d0 | ||||
| blshift:	move.l	a1,a0	;	move.l	#1024,d0 | ||||
| 		tst.l	-(sp) | ||||
| 		sub.l	d0,a0	;	move.l	d0,-(sp) | ||||
| 		sub.l	d0,a4			!update pointer | ||||
| 		asr.l	#2,d0 | ||||
| 0:		move.l	(a5)+,(a0)+ ;	sub.w	#1,d0 | ||||
| 		bgt	0b	;	move.l	a0,a5 | ||||
| 		move.l	a5,-(sp) ;	mov	savefd,-(sp) | ||||
| 0:		move.l	(a1)+,(a0)+ ;	sub.w	#1,d0 | ||||
| 		bgt	0b	;	move.l	a0,a1 | ||||
| 		move.l	a1,4(sp) | ||||
| 		move.l	a1,-(sp) ;	mov	savefd,-(sp) | ||||
| 		bsr	_Xread | ||||
| 		testen	(sp)+	;	bne	badarg | ||||
| 		move.l	(sp)+,d0 | ||||
| 		move.l	(sp)+,a1 | ||||
| 		cmp.l	#1024,d0 ;	beq	1f | ||||
| 		add.l	d0,a5 | ||||
| 		add.l	d0,a1 | ||||
| 1:		rts | ||||
| 
 | ||||
| finito:		cmp.l	hp,a3	;	bne	badarg	!load file error | ||||
|  | @ -190,7 +198,7 @@ finito:		cmp.l	hp,a3	;	bne	badarg	!load file error | |||
| 
 | ||||
| 		move.l	nproc,d1 ;	move.l	pd,a3 | ||||
| 		asl.l	#3,d1			!proc. descr. is 8 bytes | ||||
| 4:		move.l	a5,d2	;	sub.l	a4,d2	!What is available? | ||||
| 4:		move.l	a1,d2	;	sub.l	a4,d2	!What is available? | ||||
| 		add.l	#7,d2	;	and.w	#-0x8,d2  !multiple of 8! | ||||
| 		sub.l	d2,d1				!subtract what can  | ||||
| 		asr.l	#3,d2				!be read. divide by 8 | ||||
|  | @ -237,39 +245,39 @@ finito:		cmp.l	hp,a3	;	bne	badarg	!load file error | |||
| ! Count pointer zero is reserved for the case that no line number | ||||
| ! is yet defined. | ||||
| 
 | ||||
| ! Register use: a6 is external base ("eb"), a1 points at return area, other | ||||
| ! Register use: a6 is external base ("eb"), a5 points at return area, other | ||||
| ! registers are free | ||||
| 
 | ||||
| makelink:	move.l	pd,a0 | ||||
| 		move.l	#0,a2 | ||||
| 		move.l	a0,a3		!a3 will point at the first proc. | ||||
| 		move.l	a0,a4		!a4 will point at proc descr base | ||||
| 0:		move.l	a0,a5		!keep former descr pointer in a5 | ||||
| 0:		move.l	a0,a1		!keep former descr pointer in a1 | ||||
| 		add.l	#24,a0		!a0 points at next one | ||||
| 		cmp.l	a0,a6		!top of descriptor space | ||||
| 		bls	4f		!yes? ready! | ||||
| 1:		move.l	4(a0),d0	!start address of current proc in d0 | ||||
| 		cmp.l	4(a5),d0	!compair start address with previous | ||||
| 		cmp.l	4(a1),d0	!compair start address with previous | ||||
| 		bcc	2f		!d0 large? follow link! | ||||
| 		sub.l	#24,a5		!d0 small? compair with previous | ||||
| 		cmp.l	a5,a4		!is a5 smaller than pd | ||||
| 		sub.l	#24,a1		!d0 small? compair with previous | ||||
| 		cmp.l	a1,a4		!is a1 smaller than pd | ||||
| 		bls	1b		!no? try again | ||||
| 		move.l	a3,16(a0)	!yes? then smallest text add up to now | ||||
| 		move.l	a0,a3		!remind a3 is to point at first proc | ||||
| 		bra	0b		!next descriptor | ||||
| 2:		move.l	16(a5),d1	!follow the link to find place | ||||
| 2:		move.l	16(a1),d1	!follow the link to find place | ||||
| 		beq	3f		!if 0 then no link defined | ||||
| 		move.l	d1,a2 | ||||
| 		cmp.l	4(a2),d0	!compair start address | ||||
| 		bcs	3f		!start addr between those of a5 and a2 | ||||
| 		move.l	a2,a5		!d0 above start address of a5 | ||||
| 		bcs	3f		!start addr between those of a1 and a2 | ||||
| 		move.l	a2,a1		!d0 above start address of a1 | ||||
| 		bra	2b		!go on looking | ||||
| 3:		move.l	a0,16(a5)	!a0 follows a5 | ||||
| 3:		move.l	a0,16(a1)	!a0 follows a1 | ||||
| 		move.l	d1,16(a0)	!a2 follows a0 | ||||
| 		bra	0b | ||||
| 4:		move.l	a3,firstp	!firstp links to first procedure | ||||
| 
 | ||||
| ! Register use: a3 points at first procedure , d0 opcode byte , a5 base of | ||||
| ! Register use: a3 points at first procedure , d0 opcode byte , a1 base of | ||||
| ! table , d1 keeps min line nr , d2 keeps max line nr , d3 current line nr , | ||||
| ! maxcount in d4 | ||||
| 
 | ||||
|  | @ -305,17 +313,17 @@ procinf:	move.l	#1,maxcount	!count pointer for first procedure | |||
| 		bra	4f | ||||
| 3:		adroff | ||||
| 		move.l	#0,d3 | ||||
| 		move.w	(a1),d3 | ||||
| 		move.w	(a5),d3 | ||||
| 		bra	4f | ||||
| 6:		move.b	(a3)+,d0 | ||||
| 		cmp.b	#35,d0		!lin_q ? | ||||
| 		bne	6f		!skip for escape2 at 6f | ||||
| 		move.b	(a3)+,(a1)+ | ||||
| 		move.b	(a3)+,(a1)+ | ||||
| 		move.b	(a3)+,(a1)+ | ||||
| 		move.b	(a3)+,(a1) | ||||
| 		sub.l	#3,a1 | ||||
| 		move.l	(a1),d3 | ||||
| 		move.b	(a3)+,(a5)+ | ||||
| 		move.b	(a3)+,(a5)+ | ||||
| 		move.b	(a3)+,(a5)+ | ||||
| 		move.b	(a3)+,(a5) | ||||
| 		sub.l	#3,a5 | ||||
| 		move.l	(a5),d3 | ||||
| 4:		cmp.l	d1,d3		!d3 less than minimum ? | ||||
| 		bcc	5f | ||||
| 		move.l	d3,d1 | ||||
|  |  | |||
|  | @ -12,14 +12,14 @@ loop:	move.l	#0,d0 | |||
| 	add.w	d0,d0		!opcode to index in table | ||||
| 	add.w	d0,d0 | ||||
| #if prof | ||||
| 	lea	timeinf,a1 | ||||
| 	move.l	0(a1,d0),d1	!get operation time | ||||
| 	move.l	profile,a0 | ||||
| 	lea	timeinf,a5 | ||||
| 	move.l	0(a5,d0),d1	!get operation time | ||||
| 	add.l	d1,(a0) | ||||
| #endif | ||||
| #if opfreq | ||||
| 	lea	counttab,a5 | ||||
| 	add.l	#1,0(a5,d0) | ||||
| 	lea	counttab,a0 | ||||
| 	add.l	#1,0(a0,d0) | ||||
| #endif | ||||
| 	jmp	dispat(pc,d0)		!jump to branch to the operation | ||||
| 
 | ||||
|  | @ -112,13 +112,13 @@ escape1: | |||
| 	cmp.w	#640,d0		!check for range | ||||
| 	bhi	e_illins	!jump to ill instruction procedure | ||||
| #if prof | ||||
| 	lea	timeinf1,a5 | ||||
| 	move.l	0(a5,d0),d1 | ||||
| 	lea	timeinf1,a1 | ||||
| 	move.l	0(a1,d0),d1 | ||||
| 	add.l	d1,(a0) | ||||
| #endif | ||||
| #if opfreq | ||||
| 	lea	counttab+1024,a5 | ||||
| 	add.l	#1,0(a5,d0) | ||||
| 	lea	counttab+1024,a0 | ||||
| 	add.l	#1,0(a0,d0) | ||||
| #endif | ||||
| 	jmp	dispae1(pc,d0)		!jump to the operation | ||||
| 
 | ||||
|  | @ -188,13 +188,13 @@ escape2: | |||
| 	cmp.w	#220,d0 | ||||
| 	bhi	e_illins | ||||
| #if prof | ||||
| 	lea	timeinf2,a5 | ||||
| 	move.l	0(a5,d0),d1 | ||||
| 	lea	timeinf2,a1 | ||||
| 	move.l	0(a1,d0),d1 | ||||
| 	add.l	d1,(a0) | ||||
| #endif | ||||
| #if opfreq | ||||
| 	lea	counttab+1664,a5 | ||||
| 	add.l	#1,0(a5,d0) | ||||
| 	lea	counttab+1664,a1 | ||||
| 	add.l	#1,0(a1,d0) | ||||
| #endif | ||||
| 	jmp	dispae2(pc,d0) | ||||
| 
 | ||||
|  |  | |||
|  | @ -30,7 +30,7 @@ loc_s_1:	mov	#-1,d0 | |||
| 	jmp	(a4) | ||||
| lpi_l: | ||||
| 	adroff | ||||
| 	move.w	(a1),d0 | ||||
| 	move.w	(a5),d0 | ||||
| 	move.l	d0,-(sp) | ||||
| 	jmp	(a4) | ||||
| lpi_q:	jmp	(a4) | ||||
|  | @ -40,7 +40,7 @@ loc_q:	jmp	(a4) | |||
| 	 bra	e_illins | ||||
| #endif | ||||
| loc_l:	adroff | ||||
| 	move.w	(a1),d0 | ||||
| 	move.w	(a5),d0 | ||||
| 	ext.l	d0 | ||||
| 	mov	d0,-(sp) | ||||
| 	jmp	(a4) | ||||
|  | @ -49,7 +49,7 @@ ldc_0:	cl	-(sp) | |||
| 	jmp	(a4) | ||||
| ldc_l: | ||||
| 	adroff | ||||
| 	move.w	(a1),d0 | ||||
| 	move.w	(a5),d0 | ||||
| 	ext.l	d0		!ext works only on d register | ||||
| 4:	move.l	d0,-(sp) | ||||
| #ifdef	lword | ||||
|  | @ -100,7 +100,7 @@ lol_w_1:	move.l	#-1,d0 | |||
| 		mov	0(a2,d0),-(sp) | ||||
| 		jmp	(a4) | ||||
| lol_pw:		adroff | ||||
| 		move.w	(a1),d0 | ||||
| 		move.w	(a5),d0 | ||||
| 5:		asl.l	wmu,d0 | ||||
| 		add.l	a2,d0 | ||||
| 		move.l	d0,a0 | ||||
|  | @ -113,7 +113,7 @@ lol_pw:		adroff | |||
| 		jmp	(a4) | ||||
| 
 | ||||
| lol_nw:		adroff | ||||
| 		move.w	(a1),d0 | ||||
| 		move.w	(a5),d0 | ||||
| 		ext.l	d0 | ||||
| 2:		asl.l	wmu,d0 | ||||
| 		add.l	a2,d0 | ||||
|  | @ -150,7 +150,7 @@ ldl_w_1:	move.l	#-1,d0 | |||
| 		mov	(a0),-(sp) | ||||
| 		jmp	(a4) | ||||
| ldl_pw:		adroff | ||||
| 		move.w	(a1),d0 | ||||
| 		move.w	(a5),d0 | ||||
| 5:		asl.l	wmu,d0 | ||||
| 		add.l	a2,d0 | ||||
| 		move.l	d0,a0 | ||||
|  | @ -163,7 +163,7 @@ ldl_pw:		adroff | |||
| 		mov	l0(a0),-(sp) | ||||
| 		jmp	(a4) | ||||
| ldl_nw:		adroff | ||||
| 		move.w	(a1),d0 | ||||
| 		move.w	(a5),d0 | ||||
| 		ext.l	d0 | ||||
| 		bra	2b | ||||
| ldl_qpw:	move.l	(sp)+,d0 | ||||
|  | @ -173,7 +173,7 @@ ldl_qnw:	move.l	(sp)+,d0 | |||
| 
 | ||||
| !------------------------------------------------------------------------- | ||||
| loe_lw:		adroff | ||||
| 		move.w	(a1),d0 | ||||
| 		move.w	(a5),d0 | ||||
| 		bra	1f | ||||
| loe_qw:		move.l	(sp)+,d0 | ||||
| 		bra	1f | ||||
|  | @ -194,7 +194,7 @@ loe_w0:		loe_w1:		loe_w2:		loe_w3:		loe_w4: | |||
| 		jmp	(a4) | ||||
| 
 | ||||
| lde_lw:		adroff | ||||
| 		move.w	(a1),d0 | ||||
| 		move.w	(a5),d0 | ||||
| 		bra	1f | ||||
| lde_qw:		move.l	(sp)+,d0 | ||||
| 		bra	1f | ||||
|  | @ -235,7 +235,7 @@ lil_1W:		move.l	l1(a2),a0 | |||
| 		mov	(a0),-(sp) | ||||
| 		jmp	(a4) | ||||
| lil_pw:		adroff | ||||
| 		move.w	(a1),d0 | ||||
| 		move.w	(a5),d0 | ||||
| 		bra	1f | ||||
| lil_qpw:	move.l	(sp)+,d0 | ||||
| 		bra	1f | ||||
|  | @ -262,7 +262,7 @@ lil_w0:		clr.w	d0 | |||
| 		jmp	(a4) | ||||
| 
 | ||||
| lil_nw:		adroff | ||||
| 		move.w	(a1),d0 | ||||
| 		move.w	(a5),d0 | ||||
| 		ext.l	d0 | ||||
| 		bra	1f | ||||
| lil_qnw:	move.l	(sp)+,d0 | ||||
|  | @ -294,7 +294,7 @@ lof_s0:		move.l	d6,d0 | |||
| 		move.b	(a3)+,d0 | ||||
| 		bra	1f | ||||
| lof_l:		adroff | ||||
| 		move.w	(a1),d0 | ||||
| 		move.w	(a5),d0 | ||||
| 		ext.l	d0 | ||||
| 		bra	1f | ||||
| lof_q:		move.l	(sp)+,d0 | ||||
|  | @ -315,7 +315,7 @@ lof_2W:		move.l	wrd+word,d0	;	bra	1b | |||
| lof_3W:		move.l	wrd+word+word,d0	;	bra	1b | ||||
| lof_4W:		move.l	wrd+word+word+word,d0	;	bra	1b | ||||
| ldf_l:		adroff | ||||
| 		move.w	(a1),d0 | ||||
| 		move.w	(a5),d0 | ||||
| 		ext.l	d0 | ||||
| 2:		move.l	(sp)+,a0 | ||||
| 		add.l	d0,a0 | ||||
|  | @ -335,7 +335,7 @@ ldf_q:		move.l	(sp)+,d0 | |||
| !------------------------------------------------------------------------- | ||||
| 
 | ||||
| lal_p:		adroff | ||||
| 		move.w	(a1),d0 | ||||
| 		move.w	(a5),d0 | ||||
| 		bra	1f | ||||
| lal_qp:		move.l	(sp)+,d0 | ||||
| 1:		add.l	#0+l0,d0 | ||||
|  | @ -348,7 +348,7 @@ lal_w0:		clr.w	d0 | |||
| 		add.l	#0+l0,d0 | ||||
| 		bra	3f | ||||
| lal_n:		adroff | ||||
| 		move.w	(a1),d0 | ||||
| 		move.w	(a5),d0 | ||||
| 		ext.l	d0 | ||||
| 		bra	4f | ||||
| lal_qn:		move.l	(sp)+,d0 | ||||
|  | @ -366,7 +366,7 @@ lal_w_2:	move.l	#-512,d0 | |||
| 		bra	2b | ||||
| 
 | ||||
| lae_l:		adroff | ||||
| 		move.w	(a1),d0 | ||||
| 		move.w	(a5),d0 | ||||
| 1:		add.l	a6,d0 | ||||
| 		move.l	d0,-(sp) | ||||
| 		jmp	(a4) | ||||
|  | @ -385,7 +385,7 @@ lae_w5:		lae_w6: | |||
| lxl_1:		move.l	l0(a2),-(sp) | ||||
| 		jmp	(a4) | ||||
| lxl_l:		adroff | ||||
| 		move.w	(a1),d0 | ||||
| 		move.w	(a5),d0 | ||||
| 		beq	5f | ||||
| 		bgt	1f | ||||
| 		blt	e_oddz | ||||
|  | @ -408,7 +408,7 @@ lxl_2:		move.l	#1,d0 | |||
| lxa_1:		move.l	#0,d0 | ||||
| 		bra	3f | ||||
| lxa_l:		adroff | ||||
| 		move.w	(a1),d0 | ||||
| 		move.w	(a5),d0 | ||||
| 		bgt	1f | ||||
| 		blt	e_oddz | ||||
| 		pea	l0(a2) | ||||
|  | @ -429,7 +429,7 @@ lxa_l:		adroff | |||
| 
 | ||||
| loi_l:		adroff | ||||
| 		clr.l	d1 | ||||
| 		move.w	(a1),d1 | ||||
| 		move.w	(a5),d1 | ||||
| 		bra	8f | ||||
| loi_s0:		move.l	#0,d1 | ||||
| 		move.b	(a3)+,d1 | ||||
|  | @ -487,7 +487,7 @@ loi_1:		move.l	(sp)+,a0 | |||
| los_z:		mov	(sp)+,d0 | ||||
| 		bra	0f | ||||
| los_l:		adroff | ||||
| 		move.w	(a1),d0 | ||||
| 		move.w	(a5),d0 | ||||
| 0:		checksize | ||||
| 2:		move.l	#0,d1	;	move.w	(sp)+,d1 ;	bra	8b | ||||
| 4:		move.l	(sp)+,d1 ;	bra	8b | ||||
|  |  | |||
|  | @ -8,7 +8,7 @@ | |||
| !--------------------------------------------------------------------- | ||||
| 
 | ||||
| stl_pw:		adroff | ||||
| 		move.w	(a1),d0 | ||||
| 		move.w	(a5),d0 | ||||
| 3:		asl.l	wmu,d0 | ||||
| 		add.l	a2,d0 | ||||
| 		move.l	d0,a0 | ||||
|  | @ -23,7 +23,7 @@ stl_qpw:	move.l	(sp)+,d0 | |||
| 		bra	3b | ||||
| 
 | ||||
| stl_nw:		adroff | ||||
| 		move.w	(a1),d0 | ||||
| 		move.w	(a5),d0 | ||||
| 		ext.l	d0 | ||||
| 		bra	1f | ||||
| stl_qnw:	move.l	(sp)+,d0 | ||||
|  | @ -61,7 +61,7 @@ sdl_w_1:	move.l	#-1,d0 | |||
| 		mov	(sp)+,word(a0) | ||||
| 		jmp	(a4) | ||||
| sdl_nw:		adroff | ||||
| 		move.w	(a1),d0 | ||||
| 		move.w	(a5),d0 | ||||
| 		ext.l	d0 | ||||
| 		bra	2b | ||||
| sdl_qnw:	move.l	(sp)+,d0 | ||||
|  | @ -69,7 +69,7 @@ sdl_qnw:	move.l	(sp)+,d0 | |||
| sdl_qpw:	move.l	(sp)+,d0 | ||||
| 		bra	4f | ||||
| sdl_pw:		adroff | ||||
| 		move.w	(a1),d0 | ||||
| 		move.w	(a5),d0 | ||||
| 4:		asl.l	wmu,d0 | ||||
| 		add.l	a2,d0 | ||||
| 		move.l	d0,a0 | ||||
|  | @ -87,7 +87,7 @@ sdl_pw:		adroff | |||
| sde_q:		move.l	(sp)+,d0 | ||||
| 		bra	1f | ||||
| sde_l:		adroff | ||||
| 		move.w	(a1),d0 | ||||
| 		move.w	(a5),d0 | ||||
| 1:		add.l	a6,d0 | ||||
| 		move.l	d0,a0 | ||||
| #if test | ||||
|  | @ -101,7 +101,7 @@ sde_l:		adroff | |||
| ste_qw:		move.l	(sp)+,d0 | ||||
| 		bra	1f | ||||
| ste_lw:		adroff | ||||
| 		move.w	(a1),d0 | ||||
| 		move.w	(a5),d0 | ||||
| 		bra	1f | ||||
| ste_w2:		move.w	#512,d0		; bra	0f | ||||
| ste_w1:		move.w	#256,d0		; bra	0f | ||||
|  | @ -124,7 +124,7 @@ stf_q:		move.l	(sp)+,a0 | |||
| 		bra	0f | ||||
| stf_l:		adroff | ||||
| 		move.l	#0,a0 | ||||
| 		move.w	(a1),a0 | ||||
| 		move.w	(a5),a0 | ||||
| 		bra	0f | ||||
| stf_2W:		move.l	wrd+word,d0	;	move.l	d0,a0 | ||||
| 		bra	0f | ||||
|  | @ -147,7 +147,7 @@ sdf_q:		move.l	(sp)+,a0 | |||
| 		bra	1f | ||||
| sdf_l:		adroff | ||||
| 		move.l	d6,a0 | ||||
| 		move.w	(a1),a0 | ||||
| 		move.w	(a5),a0 | ||||
| 1:		add.l	(sp)+,a0 | ||||
| #if test | ||||
| 		locptr | ||||
|  | @ -203,12 +203,12 @@ sil_w_1:	move.l	#-1,d0 | |||
| 		mov	(sp)+,(a0) | ||||
| 		jmp	(a4) | ||||
| sil_pw:		adroff | ||||
| 		move.w	(a1),d0 | ||||
| 		move.w	(a5),d0 | ||||
| 		bra	5b | ||||
| sil_qpw:	move.l	(sp)+,d0 | ||||
| 		bra	5b | ||||
| sil_nw:		adroff | ||||
| 		move.w	(a1),d0 | ||||
| 		move.w	(a5),d0 | ||||
| 		ext.l	d0 | ||||
| 		bra	2b | ||||
| sil_qnw:	move.l	(sp)+,d0 | ||||
|  | @ -226,7 +226,7 @@ sti_1:		move.l	(sp)+,a0 | |||
| 		move.b	word-1(sp),(a0) | ||||
| 		add.l	wrd,sp | ||||
| 		jmp	(a4) | ||||
| sti_l:		adroff		;	move.w	(a1),d0	;	bra	0f | ||||
| sti_l:		adroff		;	move.w	(a5),d0	;	bra	0f | ||||
| sti_s0:		clr.w	d0	;	move.b	(a3)+,d0 | ||||
| 0:		asr.l	#1,d0	;	bne	1f | ||||
| 		bcs	sti_1	;	bra	e_oddz | ||||
|  | @ -258,7 +258,7 @@ sti_1W:		sti_2W:		sti_3W:		sti_4W: | |||
| 4:		mov	(sp)+,(a0)+ | ||||
| 		dbra	d0,4b | ||||
| 		jmp	(a4) | ||||
| sts_l:		adroff	;		move.w	(a1),d0 | ||||
| sts_l:		adroff	;		move.w	(a5),d0 | ||||
| 6:		checksize | ||||
| 4:		move.l	(sp)+,d0;	bra	0b | ||||
| 2:		move.w	(sp)+,d0;	bra	0b | ||||
|  | @ -268,7 +268,7 @@ sts_z:		mov	(sp)+,d0 | |||
| !------------------------------------------------------------------------------ | ||||
| !		POINTER ARITHMETIC | ||||
| !------------------------------------------------------------------------------ | ||||
| adp_l:		adroff		;	move.w	(a1),d0 | ||||
| adp_l:		adroff		;	move.w	(a5),d0 | ||||
| 		ext.l	d0 | ||||
| 		add.l	d0,(sp);	jmp	(a4) | ||||
| adp_q:		move.l	(sp)+,d0 ;	add.l	d0,(sp) | ||||
|  | @ -279,7 +279,7 @@ adp_s0:		move.l	d6,d0	;	move.b	(a3)+,d0 | |||
| 		add.l	d0,(sp);	jmp	(a4) | ||||
| adp_s_1:	move.l	#-1,d0	;	move.b	(a3)+,d0 | ||||
| 		add.l	d0,(sp)	;	jmp	(a4) | ||||
| ads_l:		adroff		;	move.w	(a1),d0 | ||||
| ads_l:		adroff		;	move.w	(a5),d0 | ||||
| 		bra	0f | ||||
| ads_z:		mov	(sp)+,d0 | ||||
| 0:		checksize | ||||
|  | @ -289,7 +289,7 @@ ads_z:		mov	(sp)+,d0 | |||
| ads_1W:		mov	(sp)+,d0 | ||||
| 		extend	d0 | ||||
| 		add.l	d0,(sp);	jmp	(a4) | ||||
| sbs_l:		adroff		;	move.w	(a1),d0 | ||||
| sbs_l:		adroff		;	move.w	(a5),d0 | ||||
| 		bra	0f | ||||
| sbs_z:		mov	(sp)+,d0		!d0 contains objectsize | ||||
| 0:		checksize | ||||
|  |  | |||
|  | @ -31,14 +31,14 @@ inl__3W:	move.l	a2,a0	;	sub.l	#6,a0	;	bra 4b | |||
| inl_w_1:	move.l	#-1,d0	;	move.b	(a3)+,d0 | ||||
| 2:		asl.l	wmu,d0 | ||||
| 1:		move.l	a2,a0	;	add.l	d0,a0	;	bra 4b | ||||
| inl_pw:		adroff		;	move.w	(a1),d0 | ||||
| inl_pw:		adroff		;	move.w	(a5),d0 | ||||
| 6:		asl.l	wmu,d0	;	add.l	#0+l0,d0 | ||||
| 		bra	1b  | ||||
| inl_qpw:	move.l	(sp)+,d0 ;	bra	6b | ||||
| inl_nw:		adroff		;	move.w	(a1),d0	 | ||||
| inl_nw:		adroff		;	move.w	(a5),d0	 | ||||
| 		ext.l	d0	;	bra	2b | ||||
| inl_qnw:	move.l	(sp)+,d0 ;	bra	2b | ||||
| ine_lw:		adroff		;	move.w	(a1),d0	;	bra 5f | ||||
| ine_lw:		adroff		;	move.w	(a5),d0	;	bra 5f | ||||
| ine_qw:		move.l	(sp)+,d0 ;	bra	5f | ||||
| ine_w0:		clr.w	d0	;	move.b	(a3)+,d0 | ||||
| 5:		asl.l	wmu,d0	;	move.l	d0,a0 | ||||
|  | @ -66,16 +66,16 @@ dec_z:		move.l	sp,a0 | |||
| del_w_1:	move.l	#-1,d0	;	move.b	(a3)+,d0 | ||||
| 1:		asl.l	wmu,d0 | ||||
| 2:		move.l	a2,a0	;	add.l	d0,a0	;	bra 4b | ||||
| del_pw:		adroff		;	move.w	(a1),d0 | ||||
| del_pw:		adroff		;	move.w	(a5),d0 | ||||
| 5:		asl.l	wmu,d0	;	add.l	#0+l0,d0	;	bra 2b | ||||
| del_qpw:	move.l	(sp)+,d0 ;	bra	5b | ||||
| del_nw:		adroff		;	move.w	(a1),d0 | ||||
| del_nw:		adroff		;	move.w	(a5),d0 | ||||
| 		ext.l	d0	;	bra	1f | ||||
| del_qnw:	move.l	(sp)+,d0 ;	bra	1f | ||||
| dee_w0:		clr.w	d0	;	move.b	(a3)+,d0 | ||||
| 0:		asl.l	wmu,d0	;	move.l	d0,a0 | ||||
| 		add.l	a6,a0	;	bra	4b | ||||
| dee_lw:		adroff		;	move.w	(a1),d0	;	bra 0b | ||||
| dee_lw:		adroff		;	move.w	(a5),d0	;	bra 0b | ||||
| dee_qw:		move.l	(sp)+,d0 ;	bra	0b | ||||
| 
 | ||||
| #if test | ||||
|  | @ -97,15 +97,15 @@ zrl_w_1:	move.l	#-1,d0	;	move.b	(a3)+,d0 | |||
| #endif | ||||
| 		cl	(a0) | ||||
| 		jmp	(a4) | ||||
| zrl_nw:		adroff		;	move.w	(a1),d0	 | ||||
| zrl_nw:		adroff		;	move.w	(a5),d0	 | ||||
| 		ext.l	d0	;	bra	1b | ||||
| zrl_qnw:	move.l	(sp)+,d0 ;	bra	1b | ||||
| zrl_pw:		adroff		;	move.w	(a1),d0 | ||||
| zrl_pw:		adroff		;	move.w	(a5),d0 | ||||
| 2:		asl.l	wmu,d0	;	add.l	a2,d0 | ||||
| 		move.l	d0,a0	;	cl	l0(a0) | ||||
| 		jmp	(a4) | ||||
| zrl_qpw:	move.l	(sp)+,d0 ;	bra	2b | ||||
| zre_lw:		adroff		;	move.w	(a1),d0	;	bra 7f | ||||
| zre_lw:		adroff		;	move.w	(a5),d0	;	bra 7f | ||||
| zre_qw:		move.l	(sp)+,d0 ;	bra	7f | ||||
| zre_w0:		clr.w	d0	;	move.b	(a3)+,d0 | ||||
| 7:		asl.l	wmu,d0	;	add.l	a6,d0 | ||||
|  | @ -117,7 +117,7 @@ zre_w0:		clr.w	d0	;	move.b	(a3)+,d0 | |||
| #endif | ||||
| 		cl	(a0) | ||||
| 		jmp	(a4) | ||||
| zrf_l:		adroff		;	move.w	(a1),d0	;	bra 8f | ||||
| zrf_l:		adroff		;	move.w	(a5),d0	;	bra 8f | ||||
| zrf_z:		mov	(sp)+,d0 | ||||
| 8:		move.l	d7,d1 | ||||
| 3:		asr.w	#1,d0	;	dbcs	d1,3b | ||||
|  | @ -125,7 +125,7 @@ zrf_z:		mov	(sp)+,d0 | |||
| 0:		cl	-(sp)	;	dbra	d0,0b | ||||
| 		jmp	(a4) | ||||
| zer_s0:		clr.w	d0	;	move.b	(a3)+,d0	; bra 8b | ||||
| zer_l:		adroff		;	move.w	(a1),d0	;	bra 8b | ||||
| zer_l:		adroff		;	move.w	(a5),d0	;	bra 8b | ||||
| zer_z:		mov	(sp),d0	;	bra	8b | ||||
| ! The test on illegal argument takes some time , specially in 4byte case. | ||||
| 
 | ||||
|  | @ -136,7 +136,7 @@ zer_z:		mov	(sp),d0	;	bra	8b | |||
| and_1W:		mov	(sp)+,d1 | ||||
| 		an	d1,(sp) | ||||
| 		jmp	(a4) | ||||
| and_l:		adroff		;	move.w	(a1),d0	;	bra 1f | ||||
| and_l:		adroff		;	move.w	(a5),d0	;	bra 1f | ||||
| and_z:		mov	(sp)+,d0 | ||||
| 1:		ble	e_oddz	;	move.l	d0,a0 | ||||
| 		move.l	d7,d2 | ||||
|  | @ -150,7 +150,7 @@ and_z:		mov	(sp)+,d0 | |||
| ior_1W:		mov	(sp)+,d1;	inor	d1,(sp) | ||||
| 		jmp	(a4) | ||||
| ior_s0:		clr.w	d0	;	move.b	(a3)+,d0;	bra 4f | ||||
| ior_l:		adroff		;	move.w	(a1),d0	;	bra 4f | ||||
| ior_l:		adroff		;	move.w	(a5),d0	;	bra 4f | ||||
| ior_z:		mov	(sp)+,d0 | ||||
| 4:		ble	e_oddz	;	move.l	d0,a0 | ||||
| 		move.l	d7,d2 | ||||
|  | @ -163,7 +163,7 @@ ior_z:		mov	(sp)+,d0 | |||
| 
 | ||||
| !---------------------------------------------------------------------------- | ||||
| 
 | ||||
| xor_l:		adroff		;	move.w	(a1),d0	;	bra 6f | ||||
| xor_l:		adroff		;	move.w	(a5),d0	;	bra 6f | ||||
| xor_z:		mov	(sp)+,d0 | ||||
| 6:		ble	e_oddz	;	move.l	d0,a0 | ||||
| 		move.l	d7,d2 | ||||
|  | @ -175,7 +175,7 @@ xor_z:		mov	(sp)+,d0 | |||
| 
 | ||||
| !---------------------------------------------------------------------------- | ||||
| 
 | ||||
| com_l:		adroff		;	move.w	(a1),d0	;	bra 0f | ||||
| com_l:		adroff		;	move.w	(a5),d0	;	bra 0f | ||||
| com_z:		mov	(sp)+,d0 | ||||
| 0:		ble	e_oddz	;	move.l	d7,d2 | ||||
| 1:		asr.l	#1,d0	;	dbcs	d2,1b	;	bcs e_oddz | ||||
|  | @ -185,7 +185,7 @@ com_z:		mov	(sp)+,d0 | |||
| 
 | ||||
| !--------------------------------------------------------------------------- | ||||
| 
 | ||||
| rol_l:		adroff		;	move.w	(a1),d0	;	bra 3f | ||||
| rol_l:		adroff		;	move.w	(a5),d0	;	bra 3f | ||||
| rol_z:		mov	(sp)+,d0 | ||||
| 3:		ble	e_oddz	;	move.l	d7,d2 | ||||
| 4:		asr.l	#1,d0	;	dbcs	d2,4b | ||||
|  | @ -199,7 +199,7 @@ rol_z:		mov	(sp)+,d0 | |||
| 		jmp	(a4) | ||||
| 2:		nega	d1	;	bra	0f | ||||
| 2:		nega	d1	;	bra	0b | ||||
| ror_l:		adroff		;	move.w	(a1),d0	;	bra 6f | ||||
| ror_l:		adroff		;	move.w	(a5),d0	;	bra 6f | ||||
| ror_z:		mov	(sp)+,d0 | ||||
| 6:		ble	e_oddz	;	move.l	d7,d2 | ||||
| 7:		asr.l	#1,d0	;	dbcs	d2,7b | ||||
|  | @ -232,7 +232,7 @@ set_s0:		clr.w	d0	;	move.b	(a3)+,d0 | |||
| #endif | ||||
| 		bchg	#0,d2	;	add.l	d2,a0 | ||||
| 		bset	d1,(a0)	;	jmp	(a4)	!d1 mod 8 bit set | ||||
| set_l:		adroff		;	move.w	(a1),d0 ;	bra 0b | ||||
| set_l:		adroff		;	move.w	(a5),d0 ;	bra 0b | ||||
| set_z:		mov	(sp)+,d0;	bra	0b | ||||
| 
 | ||||
| !---------------------------------------------------------------------------- | ||||
|  | @ -262,7 +262,7 @@ inn_s0:		clr.w	d0	;	move.b	(a3)+,d0 | |||
| 		btst	d1,(a0)	;	beq	7f | ||||
| 		mov	#1,-(sp);	jmp	(a4) | ||||
| 7:		cl	-(sp)	;	jmp	(a4) | ||||
| inn_l:		adroff		;	move.w	(a1),d0	;	bra 0b | ||||
| inn_l:		adroff		;	move.w	(a5),d0	;	bra 0b | ||||
| inn_z:		mov	(sp)+,d0;	bra	0b | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
|  | @ -25,7 +25,7 @@ calcarr:	move.l	(sp)+,d3	!save return address | |||
| 
 | ||||
| aar_1W:		bsr	calcarr	;	move.l	a0,-(sp) | ||||
| 		jmp	(a4) | ||||
| aar_l:		adroff		;	cmp.w	wrd,(a1) | ||||
| aar_l:		adroff		;	cmp.w	wrd,(a5) | ||||
| 0:		bne	e_illins ;	bra	aar_1W | ||||
| aar_z:		comp	wrd,(sp)+  ;	bra	0b | ||||
| 
 | ||||
|  | @ -43,7 +43,7 @@ lar_1W:		bsr	calcarr	;	add.l	d1,a0 | |||
| 7:		mov	-(a0),-(sp);	dbra	d1,7b | ||||
| 		jmp	(a4) | ||||
| 
 | ||||
| lar_l:		adroff		;	cmp.w	wrd,(a1) | ||||
| lar_l:		adroff		;	cmp.w	wrd,(a5) | ||||
| 8:		bne	e_illins;	bra	lar_1W | ||||
| lar_z:		comp	wrd,(sp)+ ;	bra	8b | ||||
| 
 | ||||
|  | @ -60,7 +60,7 @@ sar_1W:		bsr	calcarr	;	asr.w	#1,d1 | |||
| 7:		mov (sp)+,(a0)+	;	dbra	d1,7b | ||||
| 		jmp	(a4) | ||||
| sar_z:		comp	wrd,(sp)+ ;	bra	1f | ||||
| sar_l:		adroff		;	cmp.w	wrd,(a1) | ||||
| sar_l:		adroff		;	cmp.w	wrd,(a5) | ||||
| 1:		bne	e_illins ;	bra	sar_1W | ||||
| 
 | ||||
| !------------------------------------------------------------------------- | ||||
|  |  | |||
|  | @ -9,7 +9,7 @@ | |||
| !		SIGNED INTEGER ARITHMETIC | ||||
| !------------------------------------------------------------------------------ | ||||
| 
 | ||||
| adi_l:		adroff		;	move.w	(a1),d0	;	bra 1f | ||||
| adi_l:		adroff		;	move.w	(a5),d0	;	bra 1f | ||||
| adi_z:		mov	(sp)+,d0 | ||||
| 1:		sub.w	wrd,d0	;	beq	adi_1W | ||||
| 		sub.w	wrd,d0	;	beq	adi_2W | ||||
|  | @ -40,7 +40,7 @@ adi_2W: | |||
| !-------------------------------------------------------------------------- | ||||
| 
 | ||||
| sbi_z:		mov	(sp)+,d0 ;	bra	1f | ||||
| sbi_l:		adroff		;	move.w	(a1),d0 | ||||
| sbi_l:		adroff		;	move.w	(a5),d0 | ||||
| 1:		sub.w	wrd,d0	;	beq	sbi_1W | ||||
| 		sub.w	wrd,d0	;	beq	sbi_2W | ||||
| 		bra	e_oddz | ||||
|  | @ -71,7 +71,7 @@ sbi_2W: | |||
| !---------------------------------------------------------------------------- | ||||
| 
 | ||||
| mli_z:		mov	(sp)+,d0 ;	bra	0f | ||||
| mli_l:		adroff		;	move.w	(a1),d0 | ||||
| mli_l:		adroff		;	move.w	(a5),d0 | ||||
| 0:		sub.w	wrd,d0	;	beq	mli_1W | ||||
| 		sub.w	wrd,d0	;	beq	mli_2W | ||||
| 		bra	e_oddz | ||||
|  | @ -150,7 +150,7 @@ mlu4:		move.l	d1,d3	;	move.l	d0,d2 | |||
| !--------------------------------------------------------------------------- | ||||
| 
 | ||||
| dvi_z:		mov	(sp)+,d0 ;	bra	0f | ||||
| dvi_l:		adroff		;	move.w	(a1),d0 | ||||
| dvi_l:		adroff		;	move.w	(a5),d0 | ||||
| 0:		sub.w	wrd,d0	;	beq	dvi_1W | ||||
| 		sub.w	wrd,d0	;	beq	dvi_2W | ||||
| 		bra	e_oddz | ||||
|  | @ -172,7 +172,7 @@ dvi_2W: | |||
| 		jmp	(a4) | ||||
| 
 | ||||
| rmi_z:		mov	(sp)+,d0 ;	bra	1f | ||||
| rmi_l:		adroff		;	move.w	(a1),d0 | ||||
| rmi_l:		adroff		;	move.w	(a5),d0 | ||||
| 1:		sub.l	wrd,d0	;	beq	rmi_1W | ||||
| 		sub.l	wrd,d0	;	beq	rmi_2W | ||||
| 		bra	e_oddz | ||||
|  | @ -255,7 +255,7 @@ dvu4: | |||
| !---------------------------------------------------------------------------- | ||||
| 
 | ||||
| ngi_z:		mov	(sp)+,d0 ;	bra	0f | ||||
| ngi_l:		adroff		;	move.w	(a1),d0 | ||||
| ngi_l:		adroff		;	move.w	(a5),d0 | ||||
| 0:		sub.l	wrd,d0	;	bne	2f | ||||
| #if test | ||||
| 		comp	und,(sp) ;	bne	1f | ||||
|  | @ -281,7 +281,7 @@ ngi_l:		adroff		;	move.w	(a1),d0 | |||
| !-------------------------------------------------------------------------- | ||||
| 
 | ||||
| sli_z:		mov	(sp)+,d0 ;	bra	0f | ||||
| sli_l:		adroff		;	move.w	(a1),d0 | ||||
| sli_l:		adroff		;	move.w	(a5),d0 | ||||
| 0:		sub.w	wrd,d0	;	beq	sli_1W | ||||
| 		sub.w	wrd,d0	;	beq	sli2 | ||||
| 		bra	e_oddz | ||||
|  | @ -330,7 +330,7 @@ sli2: | |||
| #endif | ||||
| 
 | ||||
| sri_z:		mov	(sp)+,d0 ;	bra	0f | ||||
| sri_l:		adroff		;	move.w	(a1),d0 | ||||
| sri_l:		adroff		;	move.w	(a5),d0 | ||||
| 0:		sub.w	wrd,d0	;	bne	sri2 | ||||
| 		mov	(sp)+,d0  | ||||
| 		bmi	7b | ||||
|  |  | |||
|  | @ -8,7 +8,7 @@ | |||
| !----------------------------------------------------------------------------- | ||||
| 
 | ||||
| adu_z:		mov	(sp)+,d0 ;	bra	0f | ||||
| adu_l:		adroff		;	move.w	(a1),d0 | ||||
| adu_l:		adroff		;	move.w	(a5),d0 | ||||
| 0:		checksize | ||||
| 2:		move.w	(sp)+,d1 ;	add.w	d1,(sp) | ||||
| 		jmp	(a4) | ||||
|  | @ -16,7 +16,7 @@ adu_l:		adroff		;	move.w	(a1),d0 | |||
| 		jmp	(a4) | ||||
| 
 | ||||
| sbu_z:		mov	(sp)+,d0 ;	bra	0f | ||||
| sbu_l:		adroff		;	move.w	(a1),d0 | ||||
| sbu_l:		adroff		;	move.w	(a5),d0 | ||||
| 0:		checksize | ||||
| 2:		move.w	(sp)+,d1 ;	sub.w	d1,(sp) | ||||
| 		jmp	(a4) | ||||
|  | @ -26,7 +26,7 @@ sbu_l:		adroff		;	move.w	(a1),d0 | |||
| !------------------------------------------------------------------------------ | ||||
| 
 | ||||
| mlu_z:		mov	(sp)+,d0 ;	bra	0f | ||||
| mlu_l:		adroff		;	move.w	(a1),d0 | ||||
| mlu_l:		adroff		;	move.w	(a5),d0 | ||||
| 0:		checksize | ||||
| 2:		move.w	(sp)+,d0 ;	mulu	(sp),d0 | ||||
| 		move.w	d0,(sp)	;	jmp	(a4) | ||||
|  | @ -37,7 +37,7 @@ mlu_l:		adroff		;	move.w	(a1),d0 | |||
| !---------------------------------------------------------------------------- | ||||
| 
 | ||||
| dvu_z:		mov	(sp)+,d0 ;	bra	0f | ||||
| dvu_l:		adroff		;	move.w	(a1),d0 | ||||
| dvu_l:		adroff		;	move.w	(a5),d0 | ||||
| 0:		checksize | ||||
| 2:		move.w	(sp)+,d1 ;	beq	3f | ||||
| 		move.w	(sp),d0 ;	divu	d1,d0 | ||||
|  | @ -51,7 +51,7 @@ dvu_l:		adroff		;	move.w	(a1),d0 | |||
| !---------------------------------------------------------------------------- | ||||
| 
 | ||||
| rmu_z:		mov	(sp)+,d0 ;	bra	0f | ||||
| rmu_l:		adroff		;	move.w	(a1),d0 | ||||
| rmu_l:		adroff		;	move.w	(a5),d0 | ||||
| 0:		checksize | ||||
| 2:		move.w	(sp)+,d1 ;	beq	3f | ||||
| 		move.w	(sp),d0 ;	divu	d1,d0 | ||||
|  | @ -66,7 +66,7 @@ rmu_l:		adroff		;	move.w	(a1),d0 | |||
| !------------------------------------------------------------------------. | ||||
| 
 | ||||
| slu_z:		mov	(sp)+,d0 ;	bra	0f | ||||
| slu_l:		adroff		;	move.w	(a1),d0 | ||||
| slu_l:		adroff		;	move.w	(a5),d0 | ||||
| 0:		checksize | ||||
| 2:		move.w	(sp)+,d0  | ||||
| 		bmi	7f | ||||
|  | @ -85,7 +85,7 @@ slu_l:		adroff		;	move.w	(a1),d0 | |||
| 9:		nega	d0	;	bra	5b | ||||
| 
 | ||||
| sru_z:		mov	(sp)+,d0 ;	bra	0f | ||||
| sru_l:		adroff		;	move.w	(a1),d0 | ||||
| sru_l:		adroff		;	move.w	(a5),d0 | ||||
| 0:		checksize | ||||
| 2:		move.w	(sp)+,d0  | ||||
| 		bmi	7b | ||||
|  | @ -102,7 +102,7 @@ sru_l:		adroff		;	move.w	(a1),d0 | |||
| !	DUMMY FLOATING POINT ROUTINES | ||||
| !------------------------------------------------------------------------------ | ||||
| adf_l:	sbf_l:	mlf_l:	dvf_l: | ||||
| 		adroff		;	move.w	(a1),d0 | ||||
| 		adroff		;	move.w	(a5),d0 | ||||
| 1:		add.l	d0,sp	 | ||||
| #ifdef FLTRAP | ||||
| 		bra	flnim | ||||
|  |  | |||
|  | @ -88,7 +88,7 @@ nobr3:		add.l	#2,a3	;	jmp	(a4) | |||
| !----------------------------------------------------------------------------- | ||||
| 
 | ||||
| cmi_z:		mov	(sp)+,d0 ;	bra	0f | ||||
| cmi_l:		adroff		;	move.w	(a1),d0 | ||||
| cmi_l:		adroff		;	move.w	(a5),d0 | ||||
| 0:		sub.w	wrd,d0 ;	beq	cmi_1W | ||||
| 		sub.w	wrd,d0 ;	beq	cmi_2W | ||||
| 		bra	e_oddz | ||||
|  | @ -104,7 +104,7 @@ cmi_2W: | |||
| 		bra	1b | ||||
| 
 | ||||
| cmu_z:		mov	(sp)+,d0 ;	bra	4f | ||||
| cmu_l:		adroff		;	move.w	(a1),d0 | ||||
| cmu_l:		adroff		;	move.w	(a5),d0 | ||||
| 4:		sub.w	wrd,d0	;	bne	5f | ||||
| 		comp	(sp)+,(sp)+ ;	bcs	3b | ||||
| 		beq	2b	;	bra	1b | ||||
|  | @ -115,7 +115,7 @@ cmu_l:		adroff		;	move.w	(a1),d0 | |||
| cmp_z:		cmp.l	(sp)+,(sp)+ ;	bcs	3b | ||||
| 		beq	2b	;	bra	1b | ||||
| 
 | ||||
| cms_l:		adroff		;	move.w	(a1),d0 | ||||
| cms_l:		adroff		;	move.w	(a5),d0 | ||||
| 		bra	0f | ||||
| cms_z:		mov	(sp)+,d0 ;	bra	0f | ||||
| cms_s0:		move.l	d6,d0	;	move.b	(a3)+,d0 | ||||
|  | @ -140,7 +140,7 @@ cmf_s0:		move.l	d6,d0	;	move.b	(a3)+,d0 | |||
| #else | ||||
| 		jmp	(a4) | ||||
| #endif | ||||
| cmf_l:		adroff		;	move.w	(a1),d0	;	bra 9b | ||||
| cmf_l:		adroff		;	move.w	(a5),d0	;	bra 9b | ||||
| cmf_z:		mov	(sp)+,d0 ;	bra	9b | ||||
| 
 | ||||
| !------------------------------------------------------------------------- | ||||
|  | @ -149,7 +149,7 @@ cmf_z:		mov	(sp)+,d0 ;	bra	9b | |||
| 
 | ||||
| cai_z:		move.l	(sp)+,d0 ;	bra	1f | ||||
| cal_q:		move.l	(sp)+,d0 ;	bra	1f | ||||
| cal_l:		adroff		;	move.w	(a1),d0	;	bra 1f | ||||
| cal_l:		adroff		;	move.w	(a5),d0	;	bra 1f | ||||
| cal_s0:		move.w	d6,d0	;	move.b	(a3)+,d0 ;	bra 1f | ||||
| cal_1:	cal_2:	cal_3:	cal_4:	cal_5:	cal_6:	cal_7:	cal_8: | ||||
| cal_9:	cal_10:	cal_11:	cal_12:	cal_13:	cal_14:	cal_15:	cal_16: | ||||
|  | @ -184,7 +184,7 @@ lblcal: | |||
| 2:		mov	und,-(sp) ;	dbra	d1,2b | ||||
| 3:		move.l	(a0),a3 ;	jmp	(a4) | ||||
| 
 | ||||
| ret_l:		adroff		;	move.w	(a1),d0 | ||||
| ret_l:		adroff		;	move.w	(a5),d0 | ||||
| 		bra	1f | ||||
| ret_s0:		move.l	#0,d0	;	move.b	(a3)+,d0 | ||||
| 1:		blt	e_oddz	;	beq	ret_0 | ||||
|  | @ -194,8 +194,8 @@ ret_s0:		move.l	#0,d0	;	move.b	(a3)+,d0 | |||
| 		bra	5f | ||||
| ret_1W:		move.l	#0,d0 | ||||
| 5:		move.w	d0,retsize			!RETSIZE CONTAINS  | ||||
| 3:		mov	(sp)+,(a1)+ ;	dbra	d0,3b	! #WORDS-1 | ||||
| 		lea	retarea,a1 ;	bra	4f | ||||
| 3:		mov	(sp)+,(a5)+ ;	dbra	d0,3b	! #WORDS-1 | ||||
| 		lea	retarea,a5 ;	bra	4f | ||||
| ret_0:		move.w	#-1,retsize | ||||
| 4:		unlk	a2	;	cmp.l	a2,d6 | ||||
| 		beq	hlt_z ;	move.l	(sp)+,a3 | ||||
|  | @ -225,8 +225,8 @@ ret_0:		move.w	#-1,retsize | |||
| lfr_1W:		move.w	d6,d0	;	move.l	wrd,d1 | ||||
| 0:		cmp.w	retsize,d0 ;	beq	1f | ||||
| 		bsr	e_badlfr | ||||
| 1:		add.l	d1,a1 | ||||
| 2:		mov	-(a1),-(sp) ;	dbra	d0,2b | ||||
| 1:		add.l	d1,a5 | ||||
| 2:		mov	-(a5),-(sp) ;	dbra	d0,2b | ||||
| 5:		jmp	(a4) | ||||
| lfr_l:		move.b	(a3)+,-(sp) ;	move.b	(a3)+,1(sp) | ||||
| 		move.w	(sp)+,d0 ;	bra	3f | ||||
|  |  | |||
|  | @ -38,31 +38,31 @@ asp_qw:		move.l	(sp)+,d0 ;	bra	6b | |||
| 
 | ||||
| !----------------------------------------------------------------------------- | ||||
| bls_z:		mov	(sp)+,d0 ;	bra	0f | ||||
| bls_l:		adroff		;	move.w	(a1),d0 | ||||
| bls_l:		adroff		;	move.w	(a5),d0 | ||||
| 0:		checksize | ||||
| 2:		move.w	(sp)+,d0 ;	bra	0f | ||||
| 4:		move.l	(sp)+,d0 ;	bra	0f | ||||
| 
 | ||||
| blm_q:		move.l	(sp)+,d0 ;	bra	0f | ||||
| blm_l:		adroff		;	move.w	(a1),d0 | ||||
| blm_l:		adroff		;	move.w	(a5),d0 | ||||
| 		bra	0f | ||||
| blm_s0:		move.l	d6,d0	;	move.b	(a3)+,d0 | ||||
| 0:		move.l	d0,d2	;	asr.w	wmu,d2 | ||||
| 		beq	5f	;	move.l	a1,d1 | ||||
| 		beq	5f	;	move.l	a5,d1 | ||||
| 		sub.w	#1,d2	;	move.l	(sp)+,a0	!dest. address | ||||
| 		move.l	(sp)+,a1 ;	cmp.l	a0,a1 | ||||
| !a1 contains source address. beware of overlap of pieces | ||||
| 		move.l	(sp)+,a5 ;	cmp.l	a0,a5 | ||||
| !a5 contains source address. beware of overlap of pieces | ||||
| 		beq	3f	;	bcs	2f | ||||
| 1:		mov	(a1)+,(a0)+ ;	dbra	d2,1b | ||||
| 3:		move.l	d1,a1 | ||||
| 1:		mov	(a5)+,(a0)+ ;	dbra	d2,1b | ||||
| 3:		move.l	d1,a5 | ||||
| 5:		jmp	(a4) | ||||
| 2:		add.l	d0,a1	;	add.l	d0,a0 | ||||
| 4:		mov	-(a1),-(a0) ;	dbra	d2,4b | ||||
| 2:		add.l	d0,a5	;	add.l	d0,a0 | ||||
| 4:		mov	-(a5),-(a0) ;	dbra	d2,4b | ||||
| 		bra	3b | ||||
| 
 | ||||
| !---------------------------------------------------------------------------- | ||||
| csa_z:		mov	(sp)+,d0 ;	bra	0f | ||||
| csa_l:		adroff		;	move.w	(a1),d0 | ||||
| csa_l:		adroff		;	move.w	(a5),d0 | ||||
| 0:		sub.l	wrd,d0	;	bne	e_illins | ||||
| csa_1W:		move.l	(sp)+,a0 ;	mov	(sp)+,d0 | ||||
| 		add.l	#4,a0	;	subt	(a0),d0 | ||||
|  | @ -70,14 +70,14 @@ csa_1W:		move.l	(sp)+,a0 ;	mov	(sp)+,d0 | |||
| 		comp	word(a0),d0 ;	bhi	6f | ||||
| 		extend	d0 | ||||
| 		asl.l	#2,d0	;	add.l	wrd,d0 | ||||
| 		move.l	a0,a5	;	add.l	d0,a5 | ||||
| 		move.l	word(a5),d1 ;	bne	5f | ||||
| 		move.l	a0,a1	;	add.l	d0,a1 | ||||
| 		move.l	word(a1),d1 ;	bne	5f | ||||
| 6:		sub.l	#4,a0	;	move.l	(a0),d1 | ||||
| 		beq	e_case | ||||
| 5:		move.l	d1,a3	;	jmp	(a4) | ||||
| 
 | ||||
| csb_z:		mov	(sp)+,d0 ;	bra	0f | ||||
| csb_l:		adroff		;	move.w	(a1),d0 | ||||
| csb_l:		adroff		;	move.w	(a5),d0 | ||||
| 0:		comp	wrd,d0 ;	bne	e_illins | ||||
| csb_1W:		move.l	(sp)+,a0 ;	mov	(sp)+,d0 | ||||
| 		mov	4(a0),d1 ;	sub.l	#1,d1 | ||||
|  | @ -101,10 +101,10 @@ lpb_z:		add.l	#0+l0,(sp) ;	jmp	(a4) | |||
| !---------------------------------------------------------------------------- | ||||
| 
 | ||||
| dup_1W:		mov	(sp),-(sp) ;	jmp	(a4) | ||||
| dup_l:		adroff		;	move.w	(a1),d0 | ||||
| dup_l:		adroff		;	move.w	(a5),d0 | ||||
| 		bra	1f | ||||
| dus_z:		mov	(sp)+,d0 ;	bra	0f | ||||
| dus_l:		adroff		;	move.w	(a1),d0 | ||||
| dus_l:		adroff		;	move.w	(a5),d0 | ||||
| 0:		checksize | ||||
| 2:		move.w	(sp)+,d0 ;	bra	1f | ||||
| 4:		move.l	(sp)+,d0 | ||||
|  | @ -117,7 +117,7 @@ dus_l:		adroff		;	move.w	(a1),d0 | |||
| 
 | ||||
| !----------------------------------------------------------------------------- | ||||
| exg_z:		mov	(sp)+,d0 ;	bra	0f | ||||
| exg_l:		adroff		;	move.w	(a1),d0 | ||||
| exg_l:		adroff		;	move.w	(a5),d0 | ||||
| 		bra	0f  | ||||
| exg_s0:		move.l	d6,d0	;	move.b	(a3)+,d0 | ||||
| 0:		move.l	d7,d1	;	move.l	d0,a0 | ||||
|  | @ -185,7 +185,7 @@ str_s0:		move.l	d6,d0	;	move.b	(a3)+,d0 | |||
| 
 | ||||
| !---------------------------------------------------------------------------- | ||||
| rck_z:		mov	(sp)+,d0 ;	bra	0f | ||||
| rck_l:		adroff		;	move.w	(a1),d0 | ||||
| rck_l:		adroff		;	move.w	(a5),d0 | ||||
| 0:		sub.l	wrd,d0	;	beq	rck_1W | ||||
| 		sub.l	wrd,d0	;	bne	e_oddz | ||||
| 		move.l	(sp)+,a0 | ||||
|  | @ -229,16 +229,16 @@ itoa:		move.l	#9,d4	;	add.l	#11,a0 | |||
| 
 | ||||
| !------------------------------------------------------------------------------ | ||||
| fil_q:		move.l	(sp)+,a0 ;	bra	3f | ||||
| fil_l:		adroff		;	move.w	(a1),d0 | ||||
| fil_l:		adroff		;	move.w	(a5),d0 | ||||
| 		move.l	d0,a0 | ||||
| 3:		add.l	a6,a0	;	cmp.l	4(a6),a0 | ||||
| 		beq	0f | ||||
| #if	flow+count+prof | ||||
| 		move.l	curproc,a5 | ||||
| 		move.l	8(a5),d0 | ||||
| 		sub.l	12(a5),d0 | ||||
| 		move.l	curproc,a1 | ||||
| 		move.l	8(a1),d0 | ||||
| 		sub.l	12(a1),d0 | ||||
| 		move.l	d0,countfld		!START COUNTPTR FOR THIS PROC | ||||
| 		move.l	a0,20(a5)		!FILE POINTER IN PROC DES | ||||
| 		move.l	a0,20(a1)		!FILE POINTER IN PROC DES | ||||
| #endif | ||||
| 		move.l	a0,4(a6) | ||||
| 0:		jmp	(a4) | ||||
|  | @ -252,7 +252,7 @@ lni_z:		add.l	#1,(a6) | |||
| #endif | ||||
| #endif | ||||
| 		bra	8f | ||||
| lin_l:		adroff		;	move.w	(a1),d0 ;	bra 1f | ||||
| lin_l:		adroff		;	move.w	(a5),d0 ;	bra 1f | ||||
| lin_q:		move.l	(sp)+,d0 ;	bra	1f | ||||
| lin_s0:		move.l	#0,d0	;	move.b	(a3)+,d0 | ||||
| 1:		cmp.l	(a6),d0 ;	beq	9f | ||||
|  | @ -269,8 +269,9 @@ lin_s0:		move.l	#0,d0	;	move.b	(a3)+,d0 | |||
| #endif | ||||
| 8: | ||||
| #if	last | ||||
| 		bsr	nexttab	;	move.l	4(a6),(a5)+	!store new line | ||||
| 		move.l	(a6),(a5)		!number in buffer lasttable | ||||
| 		bsr	nexttab	; | ||||
| 		move.l	4(a6),(a1)+	!store new line | ||||
| 		move.l	(a6),(a1)		!number in buffer lasttable | ||||
| #endif | ||||
| #if	count | ||||
| 		move.l	countptr,d1	!LINE NUMBER IN d1 | ||||
|  | @ -311,7 +312,7 @@ syscal: | |||
| .data4 e_badmon, 	_Xdup,		_Xpipe, 	_Xtimes | ||||
| .data4 _Xprofil, 	e_badmon,	_Xsetgid,	_Xgetgid | ||||
| .data4 _sigtrp, 	e_badmon,	e_badmon,	_Xacct | ||||
| .data4 e_badmon, 	_Xlock, 	_Xioctl, 	e_badmon | ||||
| .data4 e_badmon, 	e_badmon, 	_Xioctl, 	e_badmon | ||||
| .data4 e_badmon, 	e_badmon,	e_badmon,	_Xexece | ||||
| .data4 _Xumask, 	_Xchroot, 	e_badmon,	e_badmon | ||||
| 
 | ||||
|  |  | |||
|  | @ -39,9 +39,9 @@ fatal:		clr.l	-(sp)			!dummy return address | |||
| 
 | ||||
| error:		movem.l	d0/d1/d2/d3/d4/d5/d6/d7/a0/a1/a2/a3/a4/a5/a6,-(sp) | ||||
| 		mov	60(sp),d0		!ERROR NUMBER IN d0 | ||||
| 		lea	retsize,a5 | ||||
| 		lea	retsize,a1 | ||||
| 		move.l	#16,d1 | ||||
| 1:		move.w	-(a5),-(sp) | ||||
| 1:		move.w	-(a1),-(sp) | ||||
| 		dbra	d1,1b | ||||
| 		cmp.w	#0xB,d0 | ||||
| 		bge	0f		!FATAL ERROR , START ERROR HANDLING | ||||
|  | @ -52,8 +52,8 @@ error:		movem.l	d0/d1/d2/d3/d4/d5/d6/d7/a0/a1/a2/a3/a4/a5/a6,-(sp) | |||
| 		and.w	d2,d1 | ||||
| 		bne	0f | ||||
| 		move.l	#16,d1 | ||||
| 		lea	retsize,a5 | ||||
| 1:		move.w	(sp)+,(a5)+ | ||||
| 		lea	retsize,a1 | ||||
| 1:		move.w	(sp)+,(a1)+ | ||||
| 		dbra	d1,1b | ||||
| 		movem.l	(sp)+,d0/d1/d2/d3/d4/d5/d6/d7/a0/a1/a2/a3/a4/a5/a6 | ||||
| 
 | ||||
|  | @ -73,8 +73,8 @@ rtt_z:		move.l	a2,sp | |||
| 		add.l	#0x10,sp		!REMOVE RETURN STATUS BLOCK | ||||
| 		add.l	wrd,sp			!REMOVE  ERROR NUMBER | ||||
| 		move.l	#16,d0 | ||||
| 		lea	retsize,a5 | ||||
| 1:		move.w	(sp)+,(a5)+ | ||||
| 		lea	retsize,a1 | ||||
| 1:		move.w	(sp)+,(a1)+ | ||||
| 		dbra	d0,1b | ||||
| 		movem.l	(sp)+,d0/d1/d2/d3/d4/d5/d6/d7/a0/a1/a2/a3/a4/a5/a6 | ||||
| 		add.l	wrd,sp | ||||
|  | @ -126,12 +126,12 @@ notrap1:	comp	#29,d0			!ERROR NUMBER STILL IN d0 | |||
| 2:		move.l	4(a6),a0 | ||||
| 		cmp.l	#0,a0 | ||||
| 		beq	5f | ||||
| 		move.l	a0,a5 | ||||
| 		move.l	a0,a1 | ||||
| 		sub.l	#4,sp | ||||
| 		move.l	a5,-(sp) | ||||
| 		move.l	a1,-(sp) | ||||
| 		move.l	#-1,d0 | ||||
| 1:		add.l	#1,d0 | ||||
| 		tst.b	(a5)+ | ||||
| 		tst.b	(a1)+ | ||||
| 		bne	1b | ||||
| 		move.l	d0,4(sp) | ||||
| 		mov	#2,-(sp) | ||||
|  | @ -249,8 +249,8 @@ lhalt: | |||
| 		beq	0f | ||||
| 		bsr	nexttab | ||||
| 		bra	1f | ||||
| 0:		lea	lasttable,a5 | ||||
| 1:		tst.l	(a5) | ||||
| 0:		lea	lasttable,a1 | ||||
| 1:		tst.l	(a1) | ||||
| 		bne	2f		!exists entry in table | ||||
| 		move.l	#22,-(sp)	!here case no lines processed | ||||
| 		pea	mess1 | ||||
|  | @ -263,9 +263,9 @@ lhalt: | |||
| 		mov	d6,-(sp) | ||||
| 		bsr	_Xwrite | ||||
| 		add.l	wrd+4,sp | ||||
| 		move.l	(a5),d7 | ||||
| 		move.l	(a1),d7 | ||||
| 		move.l	d7,a0		!keep file pointer in d7 | ||||
| 		clr.l	(a5)+		!this will stop the printing | ||||
| 		clr.l	(a1)+		!this will stop the printing | ||||
| 		move.l	#-1,d1		!d1 will contain length of file name | ||||
| 3:		add.l	#1,d1 | ||||
| 		tst.b	(a0)+ | ||||
|  | @ -275,7 +275,7 @@ lhalt: | |||
| 		mov	d6,-(sp) | ||||
| 		bsr	_Xwrite | ||||
| 		add.l	wrd+4,sp | ||||
| 4:		move.l	(a5),d1		!next print line numbers | ||||
| 4:		move.l	(a1),d1		!next print line numbers | ||||
| 		lea	mess3,a0 | ||||
| 		bsr	itoa | ||||
| 		move.l	#12,-(sp) | ||||
|  | @ -284,11 +284,11 @@ lhalt: | |||
| 		bsr	_Xwrite | ||||
| 		add.l	wrd+4,sp | ||||
| 		bsr	nexttab | ||||
| 		tst.l	(a5)		!in case 0 no more lines | ||||
| 		tst.l	(a1)		!in case 0 no more lines | ||||
| 		beq	9f | ||||
| 		cmp.l	(a5),d7 | ||||
| 		cmp.l	(a1),d7 | ||||
| 		bne	2b		!new file name | ||||
| 		clr.l	(a5)+		!skip file name | ||||
| 		clr.l	(a1)+		!skip file name | ||||
| 		bra	4b		!only new line | ||||
| 9: | ||||
| 	.sect .data | ||||
|  | @ -345,12 +345,12 @@ emess: | |||
| !------------------------------------------------------------------------------ | ||||
| 	.sect .text | ||||
| #if	last | ||||
| nexttab:	move.l  linused,a5 | ||||
| 		add.l	#8,a5 | ||||
| 		cmp.l	#linused,a5	!top of buffer reached? | ||||
| nexttab:	move.l  linused,a1 | ||||
| 		add.l	#8,a1 | ||||
| 		cmp.l	#linused,a1	!top of buffer reached? | ||||
| 		bne	1f		!if so back to bottom | ||||
| 		sub.l	#512,a5 | ||||
| 1:		move.l	a5,linused | ||||
| 		sub.l	#512,a1 | ||||
| 1:		move.l	a1,linused | ||||
| 		rts | ||||
| #endif | ||||
| #if count+prof | ||||
|  | @ -359,9 +359,9 @@ nexttab:	move.l  linused,a5 | |||
| 	.sect .text | ||||
| tabprint:	mov	d0,-(sp)	!KEEP FILE DESCRIPTOR FOR WRITING | ||||
| 		lea	buffer,a3 | ||||
| 		move.l	firstp,a5	!IN a5 POINTER TO CURRENT PROC. | ||||
| 		move.l	firstp,a1	!IN a1 POINTER TO CURRENT PROC. | ||||
| 		move.l	#0,a2		!IN a2 POINTER TO FILENAME . | ||||
| 2:		move.l	16(a5),d0 | ||||
| 2:		move.l	16(a1),d0 | ||||
| 		beq	9f		!LAST PROCEDURE , EXCEPTION . | ||||
| 		move.l	d0,a6		!IN a6 POINTER TO NEXT PROCEDURE . | ||||
| 7:		move.l	8(a6),d7	!COUNTPTR OF NEXT IN d7 | ||||
|  | @ -370,12 +370,12 @@ tabprint:	mov	d0,-(sp)	!KEEP FILE DESCRIPTOR FOR WRITING | |||
| 		beq	9f | ||||
| 		move.l	d0,a6 | ||||
| 		bra	7b | ||||
| 8:		move.l	8(a5),d6	!COUNTPTR OF CURRENT IN d6. | ||||
| 		move.l	12(a5),d5	!FIRST LINE NUMBER IN d5. | ||||
| 8:		move.l	8(a1),d6	!COUNTPTR OF CURRENT IN d6. | ||||
| 		move.l	12(a1),d5	!FIRST LINE NUMBER IN d5. | ||||
| 		beq	1f		!NO LINES : GO ON. | ||||
| 		cmp.l	20(a5),a2	!START PRINTING FILE NAME . | ||||
| 		cmp.l	20(a1),a2	!START PRINTING FILE NAME . | ||||
| 		beq	6f		!NO NEW NAME. | ||||
| 		move.l	20(a5),a2	!NEW FILE NAME. | ||||
| 		move.l	20(a1),a2	!NEW FILE NAME. | ||||
| 		cmp.l	#0,a2		!NO FILE NAME . | ||||
| 		beq	6f | ||||
| 		move.l	#0,d1		!START SCANNING FILE NAME | ||||
|  | @ -407,8 +407,8 @@ tabprint:	mov	d0,-(sp)	!KEEP FILE DESCRIPTOR FOR WRITING | |||
| 		add.l	#4,d6		!NEXT COUNT. | ||||
| 		sub.l	#1,d7		!ONE LINE LESS TO GO. | ||||
| 		bhi	0b | ||||
| 1:		move.l	a6,a5 | ||||
| 		cmp.l	#0,a5 | ||||
| 1:		move.l	a6,a1 | ||||
| 		cmp.l	#0,a1 | ||||
| 		bne	2b | ||||
| 		add.l	wrd,sp		!REMOVE FILE DESCR. | ||||
| 		rts			!READY. | ||||
|  |  | |||
|  | @ -15,8 +15,8 @@ _sigtrp:	move.l	(sp)+,d2	!save return address | |||
| 		move.l	d4,a0 | ||||
| 		add.l	a0,a0 | ||||
| 		add.l	a0,a0 | ||||
| 		lea	sig_trp-4(a0),a5 | ||||
| 		move.l	(a5),d2		!previous trap number in d2 | ||||
| 		lea	sig_trp-4(a0),a1 | ||||
| 		move.l	(a1),d2		!previous trap number in d2 | ||||
| 		comp	#256,d1		!-2 and -1 special | ||||
| 		bcc	1f | ||||
| 		move.l	sig_adr-4(a0),d3	!Get the pointer to the trap-  | ||||
|  | @ -28,7 +28,7 @@ sig_bad:	mov	22,-(sp)	!_Xsignal. If pointer 0 trapping is | |||
| 		bmi	sig_bad | ||||
| 		move.l	d1,d3 | ||||
| 		ad	#2,d3		!0:reset default for signal, -1: ignore | ||||
| 2:		move.l	d1,(a5)		!set new trapno | ||||
| 2:		move.l	d1,(a1)		!set new trapno | ||||
| 		move.l	d3,-(sp)		!set arguments to signal: | ||||
| 		mov	d4,-(sp)		!pointer ,signo to be trapped | ||||
| 		bsr	_Xsignal | ||||
|  | @ -85,7 +85,7 @@ sig12:		pea	sig12 | |||
| 		bsr	_Xsignal | ||||
| 		bsr	e_badmon | ||||
| 		rtr | ||||
| sig11:		move.l	4(a1),d0 | ||||
| sig11:		move.l	4(a5),d0 | ||||
| 		sub.l	sp,d0 | ||||
| 		bcs	e_memflt	!in this case error handling possible | ||||
| 		move.l	ml,sp		!refresh stack and stop . | ||||
|  |  | |||
|  | @ -1,32 +1,30 @@ | |||
| .sect .text | ||||
| .sect .rom | ||||
| .sect .data | ||||
| .retaddr: | ||||
| 	.data4	0 | ||||
| .sect .bss | ||||
| .sect .text | ||||
| !THIS FILE CONTAINS THE SYSTEM CALLS FOR PMDS-II AS SUBROUTINES FOR THE | ||||
| !EM-INTERPRETER. a1 CONTAINS A POINTER TO THE RETURN AREA . EACH SUBROUTINE | ||||
| !EM-INTERPRETER. a5 CONTAINS A POINTER TO THE RETURN AREA . EACH SUBROUTINE | ||||
| !EXPECTS ITS DATA IN THE FORM EM PRODUCES AND GIVES ITS RESULTS AS EM  | ||||
| !REQUIRES. | ||||
| !THE PMDS-II REQUIRES THE ARGUMENTS ON THE STACK AS 4 BYTE INTEGERS  OR | ||||
| !POINTERS , AND USES THE C-CALLING CONVENTION. THE 2 BYTE WORDS 4 BYTE | ||||
| !POINTERS VERSION HAS TO DO SOME CONVERSION FIRST . | ||||
| 
 | ||||
| _Xexit:		move.l	(sp),(a1) | ||||
| _Xexit:		move.l	(sp)+,.retaddr | ||||
| #ifndef lword | ||||
| 		bsr	st241 | ||||
| #endif | ||||
| 		trap	#0 | ||||
| 	.data2	1 | ||||
| 		jsr	__exit | ||||
| 
 | ||||
| _Xfork:		move.l	(sp),(a1) | ||||
| 		trap	#0 | ||||
| 	.data2	2 | ||||
| 		lea	4(sp),sp | ||||
| 		bcs	2f | ||||
| 		tst.l	d0		!PID OF CHILD IN PARENT, 0 IN CHILD | ||||
| _Xfork:		move.l	(sp)+,.retaddr | ||||
| 		jsr	_fork | ||||
| 		tst.l	d0 | ||||
| 		blt	2f | ||||
| 		bne	1f | ||||
| 		trap	#0 | ||||
| 	.data2	20 | ||||
| 		jsr	_getpid | ||||
| 		mov	d1,-(sp)	!PID OF PARENT IN d1 | ||||
| 		mov	#1,-(sp)	!(PID OF CHILD IN D0),FLAG 1 IN CHILD | ||||
| 		bra	0f | ||||
|  | @ -34,373 +32,351 @@ _Xfork:		move.l	(sp),(a1) | |||
| 		cl	-(sp)		!FLAG 0 IN PARENT | ||||
| 0:		cl	-(sp) | ||||
| 		bra	3f | ||||
| 2:		mov	d0,-(sp) | ||||
| 2:		move.l	_errno,d0 | ||||
| 		mov	d0,-(sp) | ||||
| 3:		move.l	(a1),a0 | ||||
| 		mov	d0,-(sp) | ||||
| 3:		move.l	.retaddr,a0 | ||||
| 		jmp	(a0) | ||||
| !_Xfork is special | ||||
| 
 | ||||
| _Xread:		move.l	(sp),(a1) | ||||
| _Xread:		move.l	(sp)+,.retaddr | ||||
| #ifndef lword | ||||
| 		bsr	st241 | ||||
| #endif | ||||
| 		trap	#0 | ||||
| 	.data2	3 | ||||
| sys0:		lea	16(sp),sp | ||||
| 		bcc	1f | ||||
| 		jsr	_read | ||||
| sys0:		lea	12(sp),sp | ||||
| 		cmp.l	#-1,d0 | ||||
| 		bne	1f | ||||
| 		move.l	_errno,d0 | ||||
| 		mov	d0,-(sp) | ||||
| 		mov	d0,-(sp) | ||||
| 		bra	2f | ||||
| 1:		move.l	d0,-(sp) | ||||
| 		cl	-(sp) | ||||
| 2:		move.l	(a1),a0 | ||||
| 2:		move.l	.retaddr,a0 | ||||
| 		jmp	(a0) | ||||
| 
 | ||||
| _Xwrite:		move.l	(sp),(a1) | ||||
| _Xwrite:	move.l	(sp)+,.retaddr | ||||
| #ifndef lword | ||||
| 		bsr	st241 | ||||
| #endif | ||||
| 		trap	#0 | ||||
| 	.data2	4 | ||||
| 		jsr	_write | ||||
| 		bra	sys0 | ||||
| 
 | ||||
| _Xopen:		move.l	(sp),(a1) | ||||
| _Xopen:		move.l	(sp)+,.retaddr | ||||
| #ifndef lword | ||||
| 		bsr	st243 | ||||
| #endif | ||||
| 		trap	#0 | ||||
| 	.data2	5 | ||||
| sys1:		lea	12(sp),sp | ||||
| sys5:		bcc	1f | ||||
| 		jsr	_open | ||||
| sys1:		lea	8(sp),sp | ||||
| sys5:		cmp.l	#-1,d0 | ||||
| 		bne	1f | ||||
| 		move.l	_errno,d0 | ||||
| 		mov	d0,-(sp) | ||||
| 		mov	d0,-(sp) | ||||
| 		bra	2f | ||||
| 1:		mov	d0,-(sp) | ||||
| 		cl	-(sp) | ||||
| 2:		move.l	(a1),a0 | ||||
| 2:		move.l	.retaddr,a0 | ||||
| 		jmp	(a0) | ||||
| 
 | ||||
| _Xclose:		move.l	(sp),(a1) | ||||
| _Xclose:	move.l	(sp)+,.retaddr | ||||
| #ifndef lword | ||||
| 		bsr	st241 | ||||
| #endif | ||||
| 		trap	#0 | ||||
| 	.data2	6 | ||||
| sys3:		lea	8(sp),sp | ||||
| sys4:		bcc	1f | ||||
| 		jsr	_close | ||||
| sys3:		lea	4(sp),sp | ||||
| sys4:		cmp.l	#-1,d0 | ||||
| 		bne	1f | ||||
| 		move.l	_errno,d0 | ||||
| 		mov	d0,-(sp) | ||||
| 		mov	d0,-(sp) | ||||
| 		bra	2f | ||||
| 1:		cl	-(sp) | ||||
| 2:		move.l	(a1),a0 | ||||
| 2:		move.l	.retaddr,a0 | ||||
| 		jmp	(a0) | ||||
| 
 | ||||
| _Xwait:		move.l	(sp),(a1) | ||||
| 		trap	#0 | ||||
| 	.data2	7 | ||||
| sys6:		lea	4(sp),sp | ||||
| 		bcc	1f | ||||
| _Xwait:		move.l	(sp)+,.retaddr | ||||
| .sect .data | ||||
| xxxx: | ||||
| 	.data4 0, 0 | ||||
| .sect .text | ||||
| 		move.l	#xxxx,-(sp) | ||||
| 		jsr	_wait | ||||
| 		add.l	#4,sp | ||||
| sys6:		cmp.l	#-1,d0 | ||||
| 		bne	1f | ||||
| 		move.l	_errno,d0 | ||||
| 		mov	d0,-(sp) | ||||
| 		mov	d0,-(sp) | ||||
| 		bra	2f | ||||
| 1:		mov	d1,-(sp)		! ?? | ||||
| 		mov	d0,-(sp) | ||||
| 1:		mov	xxxx+4,-(sp)		! ?? | ||||
| 		mov	xxxx,-(sp) | ||||
| 		cl	-(sp) | ||||
| 2:		move.l	(a1),a0 | ||||
| 2:		move.l	.retaddr,a0 | ||||
| 		jmp	(a0) | ||||
| 
 | ||||
| _Xcreat:		move.l	(sp),(a1) | ||||
| _Xcreat:	move.l	(sp)+,.retaddr | ||||
| #ifndef lword | ||||
| 		bsr	st243 | ||||
| #endif | ||||
| 		trap	#0 | ||||
| 	.data2	8 | ||||
| 		jsr	_creat | ||||
| 		bra	sys1 | ||||
| 
 | ||||
| _Xlink:		move.l	(sp),(a1) | ||||
| 		trap	#0 | ||||
| 	.data2	9 | ||||
| 		lea	12(sp),sp | ||||
| _Xlink:		move.l	(sp)+,.retaddr | ||||
| 		jsr	_link | ||||
| 		lea	8(sp),sp | ||||
| 		bra	sys4 | ||||
| 
 | ||||
| _Xunlink:	move.l	(sp),(a1) | ||||
| 		trap	#0 | ||||
| 	.data2	10 | ||||
| _Xunlink:	move.l	(sp)+,.retaddr | ||||
| 		jsr	_unlink | ||||
| 		bra	sys3 | ||||
| 
 | ||||
| _Xchdir:		move.l	(sp),(a1) | ||||
| 		trap	#0 | ||||
| 	.data2	12 | ||||
| _Xchdir:	move.l	(sp)+,.retaddr | ||||
| 		jsr	_chdir | ||||
| 		bra	sys3 | ||||
| 
 | ||||
| _Xmknod:		move.l	(sp),(a1) | ||||
| _Xmknod:	move.l	(sp)+,.retaddr | ||||
| #ifndef lword | ||||
| 		bsr	st244 | ||||
| #endif | ||||
| 		trap	#0 | ||||
| 	.data2	14 | ||||
| 		lea	16(sp),sp | ||||
| 		jsr	_mknod | ||||
| 		lea	12(sp),sp | ||||
| 		bra	sys4 | ||||
| 
 | ||||
| _Xchmod:		move.l	(sp),(a1) | ||||
| _Xchmod:	move.l	(sp)+,.retaddr | ||||
| #ifndef lword | ||||
| 		bsr	st243 | ||||
| #endif | ||||
| 		trap	#0 | ||||
| 	.data2	15 | ||||
| 		lea	12(sp),sp | ||||
| 		jsr	_chmod | ||||
| 		lea	8(sp),sp | ||||
| 		bra	sys4 | ||||
| 
 | ||||
| _Xchown:		move.l	(sp),(a1) | ||||
| _Xchown:	move.l	(sp)+,.retaddr | ||||
| #ifndef lword | ||||
| 		bsr	st244 | ||||
| #endif | ||||
| 		trap	#0 | ||||
| 	.data2	16 | ||||
| 		lea	16(sp),sp | ||||
| 		jsr	_chown | ||||
| 		lea	12(sp),sp | ||||
| 		bra	sys4 | ||||
| 
 | ||||
| _Xbreak:		move.l	(sp),(a1) | ||||
| 		trap	#0 | ||||
| 	.data2	17 | ||||
| 		lea	8(sp),sp | ||||
| 		bcc	1f | ||||
| _Xbreak:	move.l	(sp)+,.retaddr | ||||
| 		jsr	_brk | ||||
| 		lea	4(sp),sp | ||||
| 		cmp.l	#-1,d0 | ||||
| 		bne	1f | ||||
| 		move.l	_errno,d0 | ||||
| 		mov	d0,-(sp) | ||||
| 		mov	d0,-(sp) | ||||
| 		bra	2f | ||||
| 1:		move.l	-4(sp),nd | ||||
| 		cl	-(sp) | ||||
| 2:		move.l	(a1),a0 | ||||
| 2:		move.l	.retaddr,a0 | ||||
| 		jmp	(a0) | ||||
| 
 | ||||
| 	.sect .data | ||||
| nd:	.data4	endbss | ||||
| 	.sect .text | ||||
| 
 | ||||
| _Xstat:		move.l	(sp),(a1) | ||||
| 		trap	#0 | ||||
| 	.data2	18 | ||||
| 		lea	12(sp),sp | ||||
| _Xstat:		move.l	(sp)+,.retaddr | ||||
| 		jsr	_stat | ||||
| 		lea	8(sp),sp | ||||
| 		bra	sys4 | ||||
| 
 | ||||
| _Xlseek:		move.l	(sp),(a1) | ||||
| _Xlseek:	move.l	(sp)+,.retaddr | ||||
| #ifndef lword | ||||
| 		bsr	st245 | ||||
| #endif | ||||
| 		trap	#0 | ||||
| 	.data2	19 | ||||
| 		lea	16(sp),sp | ||||
| 		bcc	1f | ||||
| 		jsr	_lseek | ||||
| 		lea	12(sp),sp | ||||
| 		cmp.l	#-1,d0 | ||||
| 		bne	1f | ||||
| 		move.l	_errno,d0 | ||||
| 		mov	d0,-(sp) | ||||
| 		mov	d0,-(sp) | ||||
| 		bra	2f | ||||
| 1:		move.l	d0,-(sp) | ||||
| 		cl	-(sp) | ||||
| 2:		move.l	(a1),a0 | ||||
| 2:		move.l	.retaddr,a0 | ||||
| 		jmp	(a0) | ||||
| 
 | ||||
| 
 | ||||
| _Xgetpid:	move.l	(sp),(a1) | ||||
| 		trap	#0 | ||||
| 	.data2	20 | ||||
| 		add.l	#4,sp | ||||
| _Xgetpid:	move.l	(sp)+,.retaddr | ||||
| 		jsr	_getpid | ||||
| 		mov	d0,-(sp) | ||||
| 		move.l	(a1),a0 | ||||
| 		move.l	.retaddr,a0 | ||||
| 		jmp	(a0) | ||||
| 
 | ||||
| _Xmount:		move.l	(sp),(a1) | ||||
| _Xmount:	move.l	(sp)+,.retaddr | ||||
| #ifndef lword | ||||
| 		bsr	st246 | ||||
| #endif | ||||
| 		trap	#0 | ||||
| 	.data2	21 | ||||
| 		lea	16(sp),sp | ||||
| 		jsr	_mount | ||||
| 		lea	12(sp),sp | ||||
| 		bra	sys4 | ||||
| 
 | ||||
| _Xumount:	move.l	(sp),(a1) | ||||
| 		trap	#0 | ||||
| 	.data2	22 | ||||
| _Xumount:	move.l	(sp)+,.retaddr | ||||
| 		jsr	_umount | ||||
| 		bra	sys3 | ||||
| 
 | ||||
| _Xsetuid:	move.l	(sp),(a1) | ||||
| _Xsetuid:	move.l	(sp)+,.retaddr | ||||
| #ifndef lword | ||||
| 		bsr	st241 | ||||
| #endif | ||||
| 		trap	#0 | ||||
| 	.data2	23 | ||||
| 		jsr	_setuid | ||||
| 		bra	sys3 | ||||
| 
 | ||||
| _Xgetuid:	move.l	(sp),(a1) | ||||
| 		trap	#0 | ||||
| 	.data2	24 | ||||
| sys7:		add.l	#4,sp | ||||
| 		mov	d1,-(sp) | ||||
| _Xgetuid:	move.l	(sp)+,.retaddr | ||||
| 		jsr	_getuid | ||||
| sys7:		mov	d1,-(sp) | ||||
| 		mov	d0,-(sp) | ||||
| 		move.l	(a1),a0 | ||||
| 		move.l	.retaddr,a0 | ||||
| 		jmp	(a0) | ||||
| 
 | ||||
| _Xstime:		move.l	(sp),(a1) | ||||
| 		trap	#0 | ||||
| 	.data2	25 | ||||
| _Xstime:	move.l	(sp)+,.retaddr | ||||
| 		jsr	_stime | ||||
| 		bra	sys3 | ||||
| 
 | ||||
| _Xptrace:	move.l	(sp),(a1) | ||||
| _Xptrace:	move.l	(sp)+,.retaddr | ||||
| #ifndef lword | ||||
| 		bsr	st247 | ||||
| #endif | ||||
| 		trap	#0 | ||||
| 	.data2	26 | ||||
| 		lea	20(sp),sp | ||||
| 		jsr	_ptrace | ||||
| 		lea	16(sp),sp | ||||
| 		bra	sys5 | ||||
| 
 | ||||
| _Xalarm:		move.l	(sp),(a1) | ||||
| _Xalarm:	move.l	(sp)+,.retaddr | ||||
| #ifndef lword | ||||
| 		sub.l	#2,sp | ||||
| 		clr.w	4(sp) | ||||
| 		clr.w	(sp) | ||||
| #endif | ||||
| 		trap	#0 | ||||
| 	.data2	27 | ||||
| 		lea	8(sp),sp | ||||
| 		jsr	_alarm | ||||
| 		lea	4(sp),sp | ||||
| 		mov	d0,-(sp) | ||||
| 		move.l	(a1),a0 | ||||
| 		move.l	.retaddr,a0 | ||||
| 		jmp	(a0) | ||||
| 
 | ||||
| _Xfstat:		move.l	(sp),(a1) | ||||
| _Xfstat:	move.l	(sp)+,.retaddr | ||||
| #ifndef lword | ||||
| 		bsr	st241 | ||||
| #endif | ||||
| 		trap	#0 | ||||
| 	.data2	28 | ||||
| 		lea	12(sp),sp | ||||
| 		jsr	_fstat | ||||
| 		lea	8(sp),sp | ||||
| 		bra	sys4 | ||||
| 
 | ||||
| _Xpause:		trap	#0 | ||||
| 	.data2	29 | ||||
| _Xpause:	jsr	_pause | ||||
| 		rts | ||||
| 
 | ||||
| _Xutime:		move.l	(sp),(a1) | ||||
| 		trap	#0 | ||||
| 	.data2	30 | ||||
| 		lea	12(sp),sp | ||||
| _Xutime:	move.l	(sp)+,.retaddr | ||||
| 		jsr	_utime | ||||
| 		lea	8(sp),sp | ||||
| 		bra	sys4 | ||||
| 
 | ||||
| _Xaccess:	move.l	(sp),(a1) | ||||
| _Xaccess:	move.l	(sp)+,.retaddr | ||||
| #ifndef lword | ||||
| 		bsr	st248 | ||||
| #endif | ||||
| 		trap	#0 | ||||
| 	.data2	33 | ||||
| 		lea	12(sp),sp | ||||
| 		jsr	_access | ||||
| 		lea	8(sp),sp | ||||
| 		bra	sys4 | ||||
| 
 | ||||
| _Xnice: | ||||
| _Xnice:		move.l	(sp)+,.retaddr | ||||
| #ifndef lword | ||||
| 		bsr	241 | ||||
| #endif | ||||
| 		trap	#0 | ||||
| 	.data2	34 | ||||
| 		move.l	(sp)+,(sp) | ||||
| 		jsr	_nice | ||||
| 		move.l	.retaddr,(sp) | ||||
| 		rts | ||||
| 
 | ||||
| _Xftime:		move.l	(sp),(a1) | ||||
| 		trap	#0 | ||||
| 	.data2	35 | ||||
| _Xftime:	move.l	(sp)+,.retaddr | ||||
| 		jsr	_ftime | ||||
| 		bra	sys3 | ||||
| 
 | ||||
| _Xsync:		trap	#0 | ||||
| 	.data2	36 | ||||
| _Xsync:		jsr	_sync | ||||
| 		rts | ||||
| 
 | ||||
| _Xkill:		move.l	(sp),(a1) | ||||
| _Xkill:		move.l	(sp)+,.retaddr | ||||
| #ifndef lword | ||||
| 		bsr	st248 | ||||
| #endif | ||||
| 		trap	#0 | ||||
| 	.data2	37 | ||||
| 		lea	12(sp),sp | ||||
| 		jsr	_kill | ||||
| 		lea	4(sp),sp | ||||
| 		bra	sys4 | ||||
| 
 | ||||
| _Xdup:		move.l	(sp),(a1) | ||||
| _Xdup:		move.l	(sp)+,.retaddr | ||||
| #ifndef lword | ||||
| 		bsr	st248 | ||||
| #endif | ||||
| 		trap	#0 | ||||
| 	.data2	38 | ||||
| 		jsr	_dup | ||||
| 		bra	sys1 | ||||
| 
 | ||||
| _Xpipe:		move.l	(sp),(a1) | ||||
| 		trap	#0 | ||||
| 	.data2	42 | ||||
| _Xpipe:		move.l	(sp)+,.retaddr | ||||
| 		move.l	#xxxx,-(sp) | ||||
| 		jsr	_pipe | ||||
| 		add.l	#4,sp | ||||
| 		bra	sys6 | ||||
| 
 | ||||
| _Xtimes:		trap	#0 | ||||
| 	.data2	43 | ||||
| 		move.l	(sp),a0 | ||||
| 		add.l	#8,sp | ||||
| _Xtimes:	move.l	(sp)+,.retaddr | ||||
| 		jsr	_times | ||||
| 		move.l	.retaddr,a0 | ||||
| 		add.l	#4,sp | ||||
| 		jmp	(a0) | ||||
| 
 | ||||
| _Xprofil:	trap	#0 | ||||
| 	.data2	44 | ||||
| 		move.l	(sp),a0 | ||||
| 		lea	20(sp),sp | ||||
| _Xprofil:	move.l	(sp)+,.retaddr | ||||
| 		jsr	_profil | ||||
| 		move.l	.retaddr,a0 | ||||
| 		lea	16(sp),sp | ||||
| 		jmp	(a0) | ||||
| 
 | ||||
| _Xsetgid:	move.l	(sp),(a1) | ||||
| _Xsetgid:	move.l	(sp)+,.retaddr | ||||
| #ifndef	lword | ||||
| 		bsr	st241  | ||||
| #endif | ||||
| 		trap	#0 | ||||
| 	.data2	46 | ||||
| 		jsr	_setgid | ||||
| 		bra	sys3 | ||||
| 
 | ||||
| _Xgetgid:	move.l	(sp),(a1) | ||||
| 		trap	#0 | ||||
| 	.data2	47 | ||||
| _Xgetgid:	move.l	(sp)+,.retaddr | ||||
| 		jsr	_getpid | ||||
| 		bra	sys7 | ||||
| 
 | ||||
| 
 | ||||
| _Xsignal:	move.l	(sp)+,retaddr | ||||
| _Xsignal:	move.l	(sp)+,.retaddr | ||||
| 		mov	(sp)+,d4 | ||||
| 		extend	d4 | ||||
| 		move.l	d4,-(sp) | ||||
| 		move.l	retaddr,-(sp) | ||||
| 		trap	#0 | ||||
| 	.data2	48 | ||||
| 		move.l	.retaddr,-(sp) | ||||
| 		jsr	_signal | ||||
| 		lea	12(sp),sp		!remove arguments | ||||
| 		bcc	1f | ||||
| 		cmp.l	#-1,d0 | ||||
| 		bne	1f | ||||
| 		move.l	_errno,d0 | ||||
| 		mov	d0,-(sp) | ||||
| 		mov	d0,-(sp) | ||||
| 		bra	2f | ||||
| 1: 		mov	d0,-(sp) | ||||
| 1: | ||||
|  		mov	d0,-(sp) | ||||
| 		cl	-(sp) | ||||
| 2:		move.l	retaddr,a0 | ||||
| 2: | ||||
| 		move.l	.retaddr,a0 | ||||
| 		jmp	(a0) | ||||
| 	.sect .data | ||||
| retaddr:  .data4	0 | ||||
| 	.sect .text | ||||
| 
 | ||||
| _Xacct:		move.l	(sp),(a1) | ||||
| 		trap	#0 | ||||
| 	.data2	51 | ||||
| 		bra	sys3 | ||||
| _Xlock:		move.l	(sp),(a1) | ||||
| #ifndef	lword | ||||
| 		bsr	st241 | ||||
| #endif | ||||
| 		trap	#0 | ||||
| 	.data2	53 | ||||
| _Xacct:		move.l	(sp)+,.retaddr | ||||
| 		jsr	_acct | ||||
| 		bra	sys3 | ||||
| !_Xlock:		move.l	(sp)+,.retaddr | ||||
| !#ifndef	lword | ||||
| !		bsr	st241 | ||||
| !#endif | ||||
| !		jsr	_lock | ||||
| !		bra	sys3 | ||||
| 
 | ||||
| _Xioctl:		move.l	(sp),(a1) | ||||
| _Xioctl:	move.l	(sp)+,.retaddr | ||||
| #ifndef	lword | ||||
| 		bsr	st248 | ||||
| #endif | ||||
| 		trap	#0 | ||||
| 	.data2	54 | ||||
| 		lea	16(sp),sp | ||||
| 		jsr	_ioctl | ||||
| 		lea	12(sp),sp | ||||
| 		bra	sys4 | ||||
| 
 | ||||
| !_Xmpxcall:	move.l	(sp),(a1) | ||||
| !_Xmpxcall:	move.l	(sp)+,.retaddr | ||||
| !#ifndef	lword | ||||
| !		bsr	st241 | ||||
| !#endif | ||||
|  | @ -409,26 +385,23 @@ _Xioctl:		move.l	(sp),(a1) | |||
| !		lea	12(sp),sp | ||||
| !		bra	sys4 | ||||
| 
 | ||||
| _Xexece:		move.l	(sp),(a1) | ||||
| 		trap	#0 | ||||
| 	.data2	59 | ||||
| 		lea	16(sp),sp | ||||
| _Xexece:	move.l	(sp)+,.retaddr | ||||
| 		jsr	_execve | ||||
| 		lea	12(sp),sp | ||||
| 		bra	sys4 | ||||
| 
 | ||||
| _Xumask:		move.l	(sp),(a1) | ||||
| _Xumask:	move.l	(sp)+,.retaddr | ||||
| #ifndef	lword | ||||
| 		bsr	st241 | ||||
| #endif | ||||
| 		trap	#0 | ||||
| 	.data2	60 | ||||
| 		add.l	#8,sp | ||||
| 		jsr	_umask | ||||
| 		add.l	#4,sp | ||||
| 		mov	d0,-(sp) | ||||
| 		move.l	(a1),a0 | ||||
| 		move.l	.retaddr,a0 | ||||
| 		jmp	(a0) | ||||
| 
 | ||||
| _Xchroot:	move.l	(sp),(a1) | ||||
| 		trap	#0 | ||||
| 	.data2	61 | ||||
| _Xchroot:	move.l	(sp)+,.retaddr | ||||
| 		jsr	_chroot | ||||
| 		bra	sys3 | ||||
| 
 | ||||
| 
 | ||||
|  | @ -438,6 +411,13 @@ _Xchroot:	move.l	(sp),(a1) | |||
| #ifndef lword | ||||
| 
 | ||||
| st241:		sub.l	#2,sp | ||||
| 		move.l	2(sp),(sp) | ||||
| 		move.w	6(sp),d0 | ||||
| 		ext.l	d0 | ||||
| 		move.l	d0,4(sp) | ||||
| 		rts | ||||
| 
 | ||||
| st243:		sub.l	#2,sp | ||||
| 		move.l	2(sp),(sp) | ||||
| 		move.l	6(sp),4(sp) | ||||
| 		move.w	10(sp),d0 | ||||
|  | @ -445,70 +425,56 @@ st241:		sub.l	#2,sp | |||
| 		move.l	d0,8(sp) | ||||
| 		rts | ||||
| 
 | ||||
| st243:		sub.l	#2,sp | ||||
| 		move.l	2(sp),(sp) | ||||
| 		move.l	6(sp),4(sp) | ||||
| 		move.l	10(sp),8(sp) | ||||
| 		move.w	14(sp),d0 | ||||
| 		ext.l	d0 | ||||
| 		move.l	d0,12(sp) | ||||
| 		rts | ||||
| 
 | ||||
| st244:		move.l	(sp),-(sp) | ||||
| 		move.l	8(sp),4(sp) | ||||
| 		move.l	12(sp),8(sp) | ||||
| 		move.w	16(sp),d0 | ||||
| 		ext.l	d0 | ||||
| 		move.l	d0,12(sp) | ||||
| 		move.w	18(sp),d0 | ||||
| 		ext.l	d0 | ||||
| 		move.l	d0,16(sp) | ||||
| 		rts | ||||
| 
 | ||||
| st245:		move.l	(sp),-(sp) | ||||
| 		move.l	8(sp),4(sp) | ||||
| 		move.w	12(sp),d0 | ||||
| 		ext.l	d0 | ||||
| 		move.l	d0,8(sp) | ||||
| 		move.l	14(sp),12(sp) | ||||
| 		move.w	18(sp),d0 | ||||
| 		move.w	16(sp),d0 | ||||
| 		ext.l	d0 | ||||
| 		move.l	d0,16(sp) | ||||
| 		move.l	d0,12(sp) | ||||
| 		rts | ||||
| 
 | ||||
| st245:		move.l	(sp),-(sp) | ||||
| 		move.w	8(sp),d0 | ||||
| 		ext.l	d0 | ||||
| 		move.l	d0,4(sp) | ||||
| 		move.l	10(sp),8(sp) | ||||
| 		move.w	14(sp),d0 | ||||
| 		ext.l	d0 | ||||
| 		move.l	d0,12(sp) | ||||
| 		rts | ||||
| 
 | ||||
| st246:		sub.l	#2,sp | ||||
| 		move.l	2(sp),(sp) | ||||
| 		move.l	6(sp),4(sp) | ||||
| 		move.l	10(sp),8(sp) | ||||
| 		move.w	14(sp),d0 | ||||
| 		ext.l	d0 | ||||
| 		move.l	d0,12(sp) | ||||
| 		rts | ||||
| 
 | ||||
| st247:		sub.l	#6,sp | ||||
| 		move.l	6(sp),(sp) | ||||
| 		move.w	10(sp),d0 | ||||
| 		ext.l	d0 | ||||
| 		move.l	d0,4(sp) | ||||
| 		move.w	12(sp),d0 | ||||
| 		ext.l	d0 | ||||
| 		move.l	d0,8(sp) | ||||
| 		move.l	14(sp),12(sp) | ||||
| 		move.w	18(sp),d0 | ||||
| 		ext.l	d0 | ||||
| 		move.l	d0,16(sp) | ||||
| 		rts | ||||
| 
 | ||||
| st247:		sub.l	#6,sp | ||||
| 		move.l	6(sp),(sp) | ||||
| 		move.l	10(sp),4(sp) | ||||
| 		move.w	14(sp),d0 | ||||
| 		ext.l	d0 | ||||
| 		move.l	d0,8(sp) | ||||
| 		move.w	16(sp),d0 | ||||
| 		ext.l	d0 | ||||
| 		move.l	d0,12(sp) | ||||
| 		move.l	18(sp),16(sp) | ||||
| 		move.w	22(sp),d0 | ||||
| 		ext.l	d0 | ||||
| 		move.l	d0,20(sp) | ||||
| 		rts | ||||
| 
 | ||||
| st248:		move.l	(sp),-(sp) | ||||
| 		move.l	8(sp),4(sp) | ||||
| 		move.w	8(sp),d0 | ||||
| 		ext.l	d0 | ||||
| 		move.l	d0,4(sp) | ||||
| 		move.w	12(sp),d0 | ||||
| 		ext.l	d0 | ||||
| 		move.l	d0,8(sp) | ||||
| 		move.w	14(sp),d0 | ||||
| 		ext.l	d0 | ||||
| 		move.l	d0,12(sp) | ||||
| 		rts | ||||
| 
 | ||||
| #endif | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue