LD A,D CALL 2F8B;CA=10*A+C LD D,A PUSH BC EXX POP BC DJNZ 2EEF;PF.FR.EXX LD HL,5CA1;mem-3 LD A,C LD C,(IY+71);mem-5 ADD HL,BC LD (HL),A INC (IY+71);mem-5 JR 2EDF;PF.FRN.LP 2F0C PF.ROUND PUSH AF LD HL,5CA1;mem-3 LD C,(IY+71);mem-5 LD B,00 ADD HL,BC LD B,C POP AF 2F18 PF.RND.LP DEC HL LD A,(HL) ADC A,00 LD (HL),A AND A JR Z,2F25;PF.R.BACK CP 0A CCF JR NC,2F2D;PF.COUNT 2F25 PF.R.BACK DJNZ 2F18;PF.RND.LP LD (HL),01 INC B INC (IY+72);mem-5/2 2F2D PF.COUNT LD (IY+71),B;mem-5 RST 0028;FP.CALC DEFB 02;delete DEFB 38;end-calc EXX POP HL EXX LD BC,(5CAB);mem-5 LD HL,5CA1;mem-3 LD A,B CP 09 JR C,2F46;PF.NOT.E CP FC;-04 JR C,2F6C;PF.E.FRMT 2F46 PF.NOT.E AND A CALL Z,15EF;OUT.CODE 2F4A PF.E.SBRN XOR A SUB B JP M,2F52;PF.OUT.LP LD B,A JR 2F5E;PF.DC.OUT 2F52 PF.OUT.LP LD A,C AND A JR Z,2F59;PF.OUT.DT LD A,(HL) INC HL DEC C 2F59 PF.OUT.DT CALL 15EF;OUT.CODE DJNZ 2F52;PF.OUT.LP 2F5E PF.DC.OUT LD A,C AND A RET Z INC B LD A,'.' 2F64 PF.DEC.0$ RST 0010;PRINT.A.1 LD A,'0' DJNZ 2F64;PF.DEC.0$ LD B,C JR 2F52;PF.OUT.LP 2F6C PF.E.FRMT LD D,B DEC D LD B,01 CALL 2F4A;PF.E.SBRN LD A,'E' RST 0010;PRINT.A.1 LD C,D LD A,C AND A JP P,2F83;PF.E.POS NEG LD C,A LD A,'-' JR 2F85;PF.E.SIGN 2F83 PF.E.POS LD A,'+' 2F85 PF.E.SIGN RST 0010;PRINT.A.1 LD B,00 JP 1A1B;OUT.NUM 2F8B CA=10*AC PUSH DE LD L,A LD H,00 LD E,L LD D,H ADD HL,HL ADD HL,HL ADD HL,DE ADD HL,HL LD E,C ADD HL,DE LD C,H LD A,L POP DE RET 2F9B PREP.ADD LD A,(HL) LD (HL),0 AND A RET Z INC HL BIT 7,(HL) SET 7,(HL) DEC HL RET Z PUSH BC LD BC,0005 ADD HL,BC LD B,C LD C,A SCF 2FAF NEG.BYTE DEC HL LD A,(HL) CPL ADC A,00 LD (HL),A DJNZ 2FAF;NEG.BYTE LD A,C POP BC RET 2FBA FETCH.TWO PUSH HL PUSH AF LD C,(HL) INC HL LD B,(HL) LD (HL),A INC HL LD A,C LD C,(HL) PUSH BC INC HL LD C,(HL) INC HL LD B,(HL) EX DE,HL LD D,A LD E,(HL) PUSH DE INC HL LD D,(HL) INC HL LD E,(HL) PUSH DE EXX POP DE POP HL POP BC EXX INC HL LD D,(HL) INC HL LD E,(HL) POP AF POP HL RET 2FDD SHIFT.FP AND A RET Z CP 21 JR NC,2FF9;ADDEND.0 PUSH BC LD B,A 2FE5 ONE.SHIFT EXX SRA L RR D RR E EXX RR D RR E DJNZ 2FE5;ONE.SHIFT POP BC RET NC CALL 3004;ADD.BACK RET NZ 2FF9 ADDEND.0 EXX XOR A 2FFB ZEROS.4/5 LD L,00 LD D,A LD E,L EXX LD DE,0000 RET 3004 ADD.BACK INC E RET NZ INC D RET NZ EXX INC E JR NZ,300D;ALL.ADDED INC D 300D ALL.ADDED EXX RET 300F SUBTRACT EX DE,HL CALL 346E;NEGATE EX DE,HL 3014 addition LD A,(DE) OR (HL) JR NZ,303E;FULL.ADDN PUSH DE INC HL PUSH HL INC HL LD E,(HL) INC HL LD D,(HL) INC HL INC HL INC HL LD A,(HL) INC HL LD C,(HL) INC HL LD B,(HL) POP HL EX DE,HL