Charles.Forsyth20060303644188019 years agoHistory
120 lines · 1.4 KB · Assembly
RawDownload
#include "mem.h" #define	BDNZ	BC	16,0, TEXT	inb(SB), $0	OR	$ISAIO, R3	EIEIO	MOVBZ	(R3), R3	RETURN TEXT	insb(SB), $0	MOVW	v+4(FP), R4	MOVW	n+8(FP), R5	MOVW	R5, CTR	OR	$ISAIO, R3	SUB	$1, R4insb1:	EIEIO	MOVBZ	(R3), R7	MOVBU	R7, 1(R4)	BDNZ	insb1	RETURN TEXT	outb(SB), $0	MOVW	v+4(FP), R4	OR	$ISAIO, R3	EIEIO	MOVB	R4, (R3)	RETURN TEXT	outsb(SB), $0	MOVW	v+4(FP), R4	MOVW	n+8(FP), R5	MOVW	R5, CTR	OR	$ISAIO, R3	SUB	$1, R4outsb1:	EIEIO	MOVBZU	1(R4), R7	MOVB	R7, (R3)	BDNZ	outsb1	RETURN TEXT	ins(SB), $0	OR	$ISAIO, R3	EIEIO	MOVHBR	(R3), R3	RETURN TEXT	inss(SB), $0	MOVW	v+4(FP), R4	MOVW	n+8(FP), R5	MOVW	R5, CTR	OR	$ISAIO, R3	SUB	$2, R4inss1:	EIEIO	MOVHZ	(R3), R7	MOVHU	R7, 2(R4)	BDNZ	inss1	RETURN TEXT	outs(SB), $0	MOVW	v+4(FP), R4	OR	$ISAIO, R3	EIEIO	MOVHBR	R4, (R3)	RETURN TEXT	outss(SB), $0	MOVW	v+4(FP), R4	MOVW	n+8(FP), R5	MOVW	R5, CTR	OR	$ISAIO, R3	SUB	$2, R4outss1:	EIEIO	MOVHZU	2(R4), R7	MOVH	R7, (R3)	BDNZ	outss1	RETURN TEXT	inl(SB), $0	OR	$ISAIO, R3	EIEIO	MOVWBR	(R3), R3	RETURN TEXT	insl(SB), $0	MOVW	v+4(FP), R4	MOVW	n+8(FP), R5	MOVW	R5, CTR	OR	$ISAIO, R3	SUB	$4, R4insl1:	EIEIO	MOVW	(R3), R7	MOVWU	R7, 4(R4)	BDNZ	insl1	RETURN TEXT	outl(SB), $0	MOVW	v+4(FP), R4	OR	$ISAIO, R3	EIEIO	MOVWBR	R4, (R3)	RETURN TEXT	outsl(SB), $0	MOVW	v+4(FP), R4	MOVW	n+8(FP), R5	MOVW	R5, CTR	OR	$ISAIO, R3	SUB	$4, R4outsl1:	EIEIO	MOVWU	4(R4), R7	MOVW	R7, (R3)	BDNZ	outsl1	RETURN