DataMuseum.dk

Presents historical artifacts from the history of:

Jet Computer Jet80

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Jet Computer Jet80

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦793fae921⟧ TextFile

    Length: 1280 (0x500)
    Types: TextFile
    Names: »URELOP.SRC«

Derivation

└─⟦c9df7130d⟧ Bits:30005915 Pascal MT+ Release 5.2 (Jet-80)
    └─ ⟦this⟧ »URELOP.SRC« 

TextFile

;UNSTRUCTURED RELATIVE OPERATORS
;
	NAME URELOP
	ENTRY ILE,ILT,IGE,IGT,MTRUE,FALSE,MTRUE1
;
;UNSTRUCTURED RELOPS
;HL<OP>DE
;

CMPINT:	MACRO	CARRY		;SUBTRACT DE FROM HL AFTER INITIALIZING CARRY
	XRA	A		;CLEAR ACCUMULATOR
	IF	CARRY
	STC
	ENDIF
	DSBC	D
	ENDMAC

;GREATER THAN OR EQUAL TO
IGE:	MOV	A,H		;TEST FOR LIKE SIGNS
	XRA	D
	JM	GDIFF		;NO!
	CMPINT	0		;COMPARE INTEGERS
	CMC			;CARRY WAS CLEAR IF HL >= DE
	RET

;LESS THAN OR EQUAL TO
ILE:	MOV	A,H		;TEST FOR LIKE SIGNS
	XRA	D
	JM	LDIFF		;NO!
	CMPINT	1		;COMPARE INTEGERS
	RET			;CARRY IS SET IF HL <= DE

;GREATER THAN
IGT:	MOV	A,H		;TEST FOR LIKE SIGNS
	XRA	D
	JM	GDIFF		;NO!
	CMPINT	1		;COMPARE INTEGERS
	CMC			;CARRY WAS CLEAR IF HL > DE
	RET

;LESS THAN
ILT:	MOV	A,H		;TEST FOR LIKE SIGNS
	XRA	D
	JM	LDIFF		;NO!
	CMPINT	0		;COMPARE INTEGERS
	RET			;CARRY IS SET IF HL < DE



; SIGNS DIFFERENT ON A > OR >= TEST
GDIFF:	MOV	H,D		;REVERSE THE NEXT TEST
; SIGNS DIFFERENT ON A < OR <= TEST
LDIFF:	XRA	A		;CLEAR ACC
	SLAR	H		;SET CARRY IF HL < 0
	RET

MTRUE:	XRA	A		;CONDITION IS TRUE, CLEAR A, SET CARRY
	STC
	RET

MTRUE1	POP	D
	POP	H
	JR	MTRUE

FALSE:	XRA	A		;CONDITION IS FALSE, CLEAR A, RESET CARRY
	RET
«eof»