home *** CD-ROM | disk | FTP | other *** search
-
- xdef FFPAFP
- xdef FFPFPA
-
- section one
-
- FFPAFP
- moveq #0,D7
- moveq #0,D6
- bsr R0004CA
- beq lab0448
- bcs lab042E
- cmp.b #'-',D5
- seq D6
- swap D6
- bsr R0004CA
- beq lab0448
- lab042E
- cmp.b #'.',D5
- bne lab043A
- bsr R0004CA
- beq lab04A4
- lab043A
- subq.l #1,A0
- or.b #1,CCR
- rts
- lab0442
- bsr R0004CA
- bne lab049A
- lab0448
- bsr R0004AC
- bcc lab0442
- lab044C
- addq.w #1,D6
- bsr R0004CA
- beq lab044C
- cmp.b #'.',D5
- bne lab045C
- lab0458
- bsr R0004CA
- beq lab0458
- lab045C
- cmp.b #'E',D5
- bne lab0492
- bsr R0004CA
- beq lab0476
- bcs lab043A
- rol.l #8,D6
- cmp.b #'-',D5
- seq D6
- ror.l #8,D6
- bsr R0004CA
- bne lab043A
- lab0476
- move.w D5,D4
- lab0478
- bsr R0004CA
- bne lab048A
- mulu #$0A,D4
- cmp.w #$07D0,D4
- bhi lab043A
- add.w D5,D4
- bra lab0478
- lab048A
- tst.l D6
- bpl lab0490
- neg.w D4
- lab0490
- add.w D4,D6
- lab0492
- subq.l #1,A0
- jmp FFPDBF
- lab049A
- cmp.b #'.',D5
- bne lab045C
- lab04A0
- bsr R0004CA
- bne lab045C
- lab04A4
- bsr R0004AC
- bcs lab0458
- subq.w #1,D6
- bra lab04A0
-
- R0004AC
- move.l D7,D3
- lsl.l #1,D3
- bcs lab04C8
- lsl.l #1,D3
- bcs lab04C8
- lsl.l #1,D3
- bcs lab04C8
- add.l D7,D3
- bcs lab04C8
- add.l D7,D3
- bcs lab04C8
- add.l D5,D3
- bcs lab04C8
- move.l D3,D7
- lab04C8
- rts
-
- R0004CA
- moveq #0,D5
- move.b (A0)+,D5
- cmp.b #'+',D5
- beq lab04F0
- cmp.b #'-',D5
- beq lab04F0
- cmp.b #'0',D5
- bcs lab04F6
- cmp.b #'9',D5
- bhi lab04F6
- and.b #$0F,D5
- move #4,CCR
- rts
- lab04F0
- move #0,CCR
- rts
- lab04F6
- move #1,CCR
- rts
-
-
-
- FFPDBF
- moveq #$20,D5
- tst.l D7
- beq lab0330
- bmi lab02B6
- moveq #$1F,D5
- lab02B0
- add.l D7,D7
- dbmi D5,lab02B0
- lab02B6
- cmp.w #$12,D6
- bgt lab033A
- cmp.w #$FFE4,D6
- blt lab0332
- move.w D6,D4
- neg.w D4
- muls #6,D4
- move.l A0,-(SP)
- lea .wmidtable,A0
- add.w 0(A0,D4.w),D5
- move.w D5,D6
- move.l 2(A0,D4.w),D3
- move.l (SP),A0
- move.l D3,(SP)
- move.w D7,D5
- mulu D3,D5
- clr.w D5
- swap D5
- moveq #0,D4
- swap D3
- mulu D7,D3
- add.l D3,D5
- addx.b D4,D4
- swap D7
- move.w D7,D3
- mulu 2(SP),D3
- add.l D3,D5
- bcc lab0300
- addq.b #1,D4
- lab0300
- move.w D4,D5
- swap D5
- mulu (SP),D7
- lea 4(SP),SP
- add.l D5,D7
- bmi lab0312
- add.l D7,D7
- subq.w #1,D6
- lab0312
- add.l #$00000080,D7
- bcc lab031E
- roxr.l #1,D7
- addq.w #1,D6
- lab031E
- moveq #9,D3
- move.w D6,D4
- asl.w D3,D6
- bvs lab0336
- eor.w #$8000,D6
- lsr.l D3,D6
- move.b D6,D7
- beq lab0332
- lab0330
- rts
- lab0332
- moveq #0,D7
- rts
- lab0336
- tst.w D4
- bmi lab0332
- lab033A
- moveq #-1,D7
- swap D6
- roxr.b #1,D6
- roxr.b #1,D7
- tst.b D7
- or.b #2,CCR
- rts
-
-
- FFPFPA
- lea -$0A(SP),SP
- move.l $0A(SP),-(SP)
- move.w #0,-(SP)
- tst.b D7
- movem.l D2-D6/A0/A1,-(SP)
- bne lab0512
- moveq #$41,D7
- lab0512
- move.w #$2B2E,$22(SP)
- move.b D7,D6
- bpl lab0520
- addq.b #2,$22(SP)
- lab0520
- add.b D6,D6
- move.b #$80,D7
- eor.b D7,D6
- ext.w D6
- asr.w #1,D6
- moveq #1,D3
- lea .wmidtable,A0
- cmp.w (A0),D6
- blt lab0554
- bgt lab0546
- lab053A
- cmp.l 2(A0),D7
- bcc lab0560
- lab0540
- addq.w #6,A0
- subq.w #1,D3
- bra lab0560
- lab0546
- lea -6(A0),A0
- addq.w #1,D3
- cmp.w (A0),D6
- bgt lab0546
- beq lab053A
- bra lab0540
- lab0554
- lea 6(A0),A0
- subq.w #1,D3
- cmp.w (A0),D6
- blt lab0554
- beq lab053A
- lab0560
- move.l #$452B3030,$2C(SP)
- move.w D3,D2
- bpl lab0572
- neg.w D2
- addq.b #2,$2D(SP)
- lab0572
- cmp.w #$0A,D2
- bcs lab0580
- addq.b #1,$2E(SP)
- sub.w #$0A,D2
- lab0580
- or.b D2,$2F(SP)
- moveq #7,D2
- lea $24(SP),A1
- tst.l D7
- bpl lab0594
- tst.b 5(A0)
- bne lab0596
- lab0594
- clr.b D7
- lab0596
- move.w D6,D4
- sub.w (A0)+,D4
- move.l (A0)+,D5
- lsr.l D4,D5
- moveq #9,D4
- lab05A0
- sub.l D5,D7
- dbcs D4,lab05A0
- bcs lab05AA
- clr.b D4
- lab05AA
- add.l D5,D7
- sub.b #9,D4
- neg.b D4
- or.b #'0',D4
- move.b D4,(A1)+
- dbra D2,lab0596
- move.w D3,D7
- ext.l D7
- movem.l (SP)+,D2-D6/A0/A1
- addq.l #2,SP
- rts
-
- section two,data
-
- .wFFP10TBL
- dc.w $40,$8AC7,$2305,$3C,$DE0B,$6B3A
- dc.w $39,$B1A2,$BC2F,$36,$8E1B,$C9BF
- dc.w $32,$E35F,$A932,$2F,$B5E6,$20F5
- dc.w $2C,$9184,$E72A,$28,$E8D4,$A510
- dc.w $25,$BA43,$B740,$22,$9502,$F900
- dc.w $1E,$EE6B,$2800,$1B,$BEBC,$2000
- dc.w $18,$9896,$8000,$14,$F424,0,$11
- dc.w $C350,0,$0E,$9C40,0,$0A,$FA00
- dc.w 0,7,$C800,0,4,$A000,0
- .wmidtable
- dc.w 1,$8000,0,$FFFD,$CCCC,$CCCD,$FFFA
- dc.w $A3D7,$0A3D,$FFF7,$8312,$6E98
- dc.w $FFF3,$D1B7,$1759,$FFF0,$A7C5
- dc.w $AC47,$FFED,$8637,$BD06,$FFE9
- dc.w $D6BF,$94D6,$FFE6,$ABCC,$7712
- dc.w $FFE3,$8970,$5F41,$FFDF,$DBE6
- dc.w $FECF,$FFDC,$AFEB,$FF0C,$FFD9
- dc.w $8CBC,$CC09,$FFD5,$E12E,$1342
- dc.w $FFD2,$B424,$DC35,$FFCF,$901D
- dc.w $7CF7,$FFCB,$E695,$94BF,$FFC8
- dc.w $B877,$AA32,$FFC5,$9392,$EE8F
- dc.w $FFC1,$EC1E,$4A7E,$FFBE,$BCE5
- dc.w $0865,$FFBB,$971D,$A050,$FFB7
- dc.w $F1C9,$81,$FFB4,$C16D,$9A01,$FFB1
- dc.w $9ABE,$14CD,$FFAD,$F796,$87AE
- dc.w $FFAA,$C612,$0625,$FFA7,$9E74
- dc.w $D1B8,$FFA3,$FD87,$B5F3
-
- end
-
-