POP HL EXX RET 342D st-mem-0 PUSH HL etc EX DE,HL LD HL,(5C68);MEM CALL 3406;LOC.MEM EX DE,HL CALL 33C0;MOVE.FP EX DE,HL POP HL RET 343C EXCHANGE LD B,05 343E SWAP.BYTE LD A,(DE) LD C,(HL) EX DE,HL LD (DE),A LD (HL),C INC HL INC DE DJNZ 343E;SWAP.BYTE EX DE,HL RET 3449 series-06 LD B,A etc CALL 335E;GEN.ENT.1 DEFB 31;duplicate DEFB 0F;addition DEFB C0;st-mem-0 DEFB 02;delete DEFB A0;stk-zero DEFB C2;st-mem-2 3453 G.LOOP DEFB 31;duplicate DEFB E0;get-mem-0 DEFB 04;multiply DEFB E2;get-mem-2 DEFB C1;st-mem-1 DEFB 03;subtract DEFB 38;end-calc CALL 33C6;STK.DATA CALL 3362;GEN.ENT.2 DEFB 0F;addition DEFB 01;exchange DEFB C2;st-mem-2 DEFB 02;delete DEFB 35;dec.jr.nz DEFB EE;to 3453 G.LOOP DEFB E1;get-mem-1 DEFB 03;subtract DEFB 38;end-calc RET 346A abs LD B,FF JR 3474;NEG.TEST 346E negate CALL 34E9;TEST.ZERO RET C LD B,00 3474 NEG.TEST LD A,(HL) AND A JR Z,3483;INT.CASE INC HL LD A,B AND 10000000B OR (HL) RLA CCF RRA LD (HL),A DEC HL RET 3483 INT.CASE PUSH DE PUSH HL CALL 2D7F;INT.FETCH POP HL LD A,B OR C CPL LD C,A CALL 2D8E;INT.STORE POP DE RET 3492 sgn CALL 34E9;TEST.ZERO RET C PUSH DE LD DE,0001 INC HL RL (HL) DEC HL SBC A,A LD C,A CALL 2D8E;INT.STORE POP DE RET 34A5 in CALL 1E99;FIND.INT2 IN A,(C) JR 34B0;IN.PK.STK 34AC peek CALL 1E99;FIND.INT2 LD A,(BC) 34B0 IN.PK.STK JP 2D28;STACK.A 34B5 usr.no CALL 1E99;FIND.INT2 LD HL,2D2B;STACK.BC PUSH HL PUSH BC RET 34BC usr-$ CALL 2BF1;STK.FETCH DEC BC LD A,B OR C JR NZ,34E7;REPORT.A LD A,(DE) CALL 2C8D;ALPHA JR C,34D3;USR.RANGE SUB 90 JR C,34E7;REPORT.A CP 15 JR NC,34E7;REPORT.A INC A 34D3 USR.RANGE DEC A ADD A,A ADD A,A ADD A,A CP A8 JR NC,34E7;REPORT.A LD BC,(5C7B);UDG ADD A,C LD C,A JR NC,34E4;USR.STACK INC B 34E4 USR.STACK JP 2D2B;STACK.BC 34E7 REPORT.A RST 0008;ERROR.1 DEFB 09;"Invalid argument" 34E9 TEST.ZERO PUSH HL PUSH BC LD B,A LD A,(HL) INC HL OR (HL) INC HL OR (HL) INC HL OR (HL) LD A,B POP BC POP HL RET NZ SCF RET 3459 greater-0 CALL 34E9;TEST.ZERO RET C LD A,FF JR 3507;SIGN.TO.C 3501 not CALL 34E9;TEST.ZERO JR 350B;FP.0/1 3506 less-0 XOR A 3507 SIGN.TO.C INC HL XOR (HL) DEC HL RLCA 350B FP.0/1 PUSH HL LD A,00 LD (HL),A INC HL LD (HL),A INC HL RLA LD (HL),A RRA INC HL LD (HL),A INC HL LD (HL),A POP HL RET 351B or EX DE,HL CALL 34E9;TEST.ZERO EX DE,HL RET C SCF JR 350B;FP.0/1 3524 no-&-no EX DE,HL CALL 34E9;TEST.ZERO EX DE,HL RET NC AND A JR 350B;FP.0/1 352D str-&-no EX DE,HL CALL 34E9;TEST.ZERO EX DE,HL RET NC PUSH DE DEC DE XOR A LD (DE),A DEC DE LD (DE),A POP DE RET 353B no-l-eql LD A,B etc SUB 08 BIT 2,A JR NZ,3543;EX.OR.NOT DEC A 3543 EX.OR.NOT RRCA JR NC,354E;NU.OR.STR PUSH AF PUSH HL CALL 343C;EXCHANGE POP DE EX DE,HL POP AF 354E NU.OR.STR BIT 2,A JR NZ,3559;STRINGS RRCA PUSH AF CALL 300F;SUBTRACT JR 358C;END.TESTS 3559 STRINGS RRCA PUSH AF CALL 2BF1;STK.FETCH PUSH DE PUSH BC CALL 2BF1;STK.FETCH POP HL 3564 BYTE.COMP LD A,H OR L EX (SP),HL LD A,B JR NZ,3575;SEC.PLUS OR C 356B SECND.LOW POP BC JR Z,3572;BOTH.NULL POP AF CCF JR 3588;STR.TEST 3572 BOTH.NULL POP AF JR 3588;STR.TEST 3575 SEC.PLUS OR C JR Z,3585;FRST.LESS LD A,(DE) SUB (HL) JR C,3585;FRST.LESS JR NZ,356B;SECND.LOW DEC BC INC DE INC HL EX (SP),HL DEC HL JR 3564;BYTE.COMP 3585 FIRST.LESS POP BC POP AF AND A 3588 STR.TEST PUSH AF RST 0028;FP.CALC DEFB A0;stk-zero DEFB 38;end-calc 358C END.TESTS POP AF PUSH AF CALL C,3501;not POP AF PUSH AF CALL NC,34F9;greater-0 POP AF RRCA CALL NC,3501;not RET 359C strs-add CALL 2BF1;STK.FETCH PUSH DE PUSH BC CALL 2BF1;STK.FETCH POP HL PUSH HL PUSH DE PUSH BC ADD HL,BC LD B,H LD C,L RST 0030;BC.SPACES CALL 2AB2;STK.STORE POP BC POP HL LD A,B OR C JR Z,35B7;OTHER.STR LDIR 35B7 OTHER.STR POP BC POP HL LD A,B OR C JR Z,35BF;STK.PNTRS LDIR 35BF STK.PNTRS LD HL,(5C65);STKEND LD DE,FFFB;-05 PUSH HL ADD HL,DE