home *** CD-ROM | disk | FTP | other *** search
- POP DE RET 35C9 chr$ CALL 2DD5;FP.TO.A JR C,35DC;REPORT.B JR NZ,35DC;REPORT.B PUSH AF LD BC,0001 RST 0030;BC.SPACES POP AF LD (DE),A CALL 2AB2;STK.STORE EX DE,HL RET 35DC REPORT.B RST 0008;ERROR.1 DEFB 0A;"Integer out of range" 35DE val LD HL,(5C5D);CH.ADD (val$) PUSH HL LD A,B ADD A,E3 SBC A,A PUSH AF CALL 2BF1;STK.FETCH PUSH DE INC BC RST 0030;BC.SPACES POP HL LD (5C5D),DE;CH.ADD PUSH DE LDIR EX DE,HL DEC HL LD (HL),0D RES 7,(IY+01);FLAGS CALL 24FB;SCANNING RST 0018;GET.CHAR CP 0D JR NZ,360C;V.RPORT.C POP HL POP AF XOR (IY+01);FLAGS AND 01000000B 360C V.RPORT.C JP NZ,1C8A;REPORT.C LD (5C5D),HL;CH.ADD SET 7,(IY+01);FLAGS CALL 24FB;SCANNING POP HL LD (5C5D),HL;CH.ADD JR 35BF;STK.PNTRS 361F str$ LD BC,0001 RST 0030;BC.SPACES LD (5C5B),HL;K.CUR PUSH HL LD HL,(5C51);CURCHL PUSH HL LD A,FF;-01 CALL 1601;CHAN.OPEN CALL 2DE3;PRINT.FP POP HL CALL 1615;CHAN.FLAG POP DE LD HL,(5C5B);K.CUR AND A SBC HL,DE LD B,H LD C,L CALL 2AB2;STK.STO.$ EX DE,HL RET 3645 read-in CALL 1E94;FIND.INT1 CP 10 JP NC,1E9F;REPORT.B LD HL,(5C51);CURCHL PUSH HL CALL 1601;CHAN.OPEN CALL 15E6;INPUT.AD LD BC,0000 JR NC,365F;R.I.STORE INC C RST 0030;BC.SPACES LD (DE),A 365F R.I.STORE CALL 2AB2;STK.STO.$ POP HL CALL 1615;CHAN.FLAG JP 35BF;STK.PNTRS 3669 code CALL 2BF1;STK.FETCH LD A,B OR C JR Z,3671;STK.CODE LD A,(DE) 3671 STK.CODE JP 2D28;STACK.A 3674 len CALL 2BF1;STK.FETCH JP 2D2B;STACK.BC 367A dec-jr-nz EXX PUSH HL LD HL,5C67;BREG DEC (HL) POP HL JR NZ,3687;JUMP.2 INC HL EXX RET 3686 JUMP EXX 3687 JUMP.2 LD E,(HL) LD A,E RLA SBC A,A LD D,A ADD HL,DE EXX RET 368F jump-true INC DE INC DE LD A,(HL) DEC DE DEC DE AND A JR NZ,3686;JUMP EXX INC HL EXX RET 369B end-calc POP AF EXX EX (SP),HL EXX RET 36A0 n-mod-m RST 0028;FP.CALC DEFB C0;st-mem-0 DEFB 02;delete DEFB 31;duplicate DEFB E0;get-mem-0 DEFB 05;division DEFB 27;int DEFB E0;get-mem-0 DEFB 01;exchange DEFB C0;st-mem-0 DEFB 04;multiply DEFB 03;subtract DEFB E0;get-mem-0 DEFB 38;end-calc RET 36AF int RST 0028;FP.CALC DEFB 31;duplicate DEFB 36;less-0 DEFB 00;jump-true DEFB 04;to 36B7 X.NEG DEFB 3A;truncate DEFB 38;end-calc RET 36B7 X.NEG DEFB 31;duplicate DEFB 3A;truncate DEFB C0;st-mem-0 DEFB 03;subtract DEFB E0;get-mem-0 DEFB 01;exchange DEFB 30;not DEFB 00;jump-true DEFB 03;to 30C2 EXIT DEFB A1;stk-one DEFB 03;subtract 36C2 EXIT DEFB 38;end-calc RET 36C4 exp RST 0028;FP.CALC DEFB 3D;re-stack DEFB 34;stk-data DEFB F1;exponent 81 DEFB 38,AA,3B,29 DEFB 04;multiply DEFB 31;duplicate DEFB 27;int DEFB C3;st-mem-3 DEFB 03;subtract DEFB 31;duplicate DEFB 0F;addition DEFB A1;stk-one DEFB 03;subtract DEFB 88;series-08 DEFB 13;exponent 63 DEFB 36;(00,00,00) DEFB 58;exponent 68 DEFB 65,66;(00,00) DEFB 9D;exponent 6D DEFB 78,65,40;(00) DEFB A2;exponent 72 DEFB 60,32,C9;(00) DEFB E7;exponent 77 DEFB 21,F7,AF,24 DEFB EB;exponent 7B DEFB 2F,B0,B0,14 DEFB EE;exponent 7E DEFB 7E,BB,94,58 DEFB F1;exponent 81 DEFB 3A,7E,F8,CF DEFB E3;get-mem-3 DEFB 38;end-calc CALL 2DD5;FP.TO.A JR 3705;N.NEGTV JR C,3703;REPORT.6 ADD A,(HL) JR NC,370C;RESULT.OK 3703 REPORT.6 RST 0008;ERROR.1 DEFB 05;"Number too big" 3705 N.NEGTV JR C,370E;RSLT.ZERO SUB (HL) JR NC,370E;RSLT.ZERO NEG 370C RESULT.OK LD (HL),A RET 370E RSLT.ZERO RST 0028;FP.CALC DEFB 02;delete DEFB A0;stk-zero DEFB 38;end-calc RET 3713 ln RST 0028;FP.CALC DEFB 3D;re-stack DEFB 31;duplicate DEFB 37;greater-0 DEFB 00;jump-true DEFB 04;to 371C VALID DEFB 38;end-calc 371A REPORT.A RST 0008;ERROR.1 DEFB 09;"Invalid argument" 371C VALID DEFB A0;stk-zero DEFB 02;delete DEFB 38;end-calc LD A,(HL) LD (HL),80 CALL 2D2B;STACK.A RST 0028;FP.CALC DEFB 34;stk-data DEFB 38;exponent 88 DEFB 00;(00,00,00) DEFB 03;subtract DEFB 01;exchange DEFB 31;duplicate DEFB 34;stk-data DEFB F0;exponent 80 DEFB 4C,CC,CC,CD DEFB 03;subtract DEFB 37;greater-0 DEFB 00;jump-true DEFB 08;to 373D GRE.8 DEFB 01;exchange DEFB A1;stk-one DEFB 03;subtract DEFB 01;exchange DEFB 38;end-calc INC (HL) RST 0028;FP.CALC 373D GRE.8 DEFB 01;exchange DEFB 34;stk-data DEFB F0;exponent 80 DEFB 31,72,17,F8 DEFB 04;multiply DEFB 01;exchange DEFB A2;stk-half DEFB 03;subtract DEFB A2;stk-half DEFB 03;subtract DEFB 31;duplicate DEFB 34;stk-data DEFB 32;exponent 82 DEFB 20;(00,00,00) DEFB 04;multiply DEFB A2;stk-half DEFB 03;subtract DEFB 8C;series-0C DEFB 11;exponent 61 DEFB AC;(00,00,00) DEFB 14;exponent 64 DEFB 09;(00,00,00) DEFB 56;exponent 66 DEFB DA,A5;(00,00) DEFB 59;exponent 69 DEFB 30,C5;(00,00) DEFB 5C;exponent 6C DEFB 90,AA;(00,00) DEFB 9E;exponent 6E DEFB 70,6F,61;(00) DEFB A1;exponent 71 DEFB CB,DA,96;(00) DEFB A4;exponent 74 DEFB 31,9F,B4;(00) DEFB E7;exponent 77 DEFB A0,FE,5C,FC DEFB EA;exponent 7A DEFB 1B,43,CA,36 DEFB ED;exponent 7D DEFB A7,9C,7E,5E DEFB F0;exponent 80 DEFB 6E,23,B0,93 DEFB 04;multiply DEFB 0F;addition DEFB 38;end-calc RET