view lib/kreiderclib/cfloats.as @ 3140:03b580a02945

Allow CoCo3FPGA-specific build of superdesc.asm Added new conditional CC3FPGA and code to "level1/modules/superdesc.asm" to reflect changes needed to build the new SD card descriptors for the Coco3FPGA.
author Bill Pierce <merlinious999@gmail.com>
date Sat, 04 Feb 2017 11:06:26 +0100
parents 1647f1874cdf
children
line wrap: on
line source

* Disassembly by Os9disasm of cfloats.r

 section code

* class D external label equates

D0000 equ $0000 
D0010 equ $0010 
D0011 equ $0011 
D0012 equ $0012 
D0013 equ $0013 
D0014 equ $0014 
D0015 equ $0015 
D0016 equ $0016 
D0017 equ $0017 
D0018 equ $0018 
D0019 equ $0019 
D001c equ $001c 
D001d equ $001d 
D001e equ $001e 
D0022 equ $0022 
D0023 equ $0023 
D0024 equ $0024 
D0025 equ $0025 
D0026 equ $0026 
D0027 equ $0027 
D0028 equ $0028 
D0029 equ $0029 
D002a equ $002a 
D0081 equ $0081 

_dnorm: ldx   2,s 
 lbsr  _dstack 
 bsr   L0008 
 rts    
L0008 pshs  u 
 leas  -30,s 
 tfr   s,u 
 clr   D001d,u 
 clr   D0019,u 
 lbsr  L028f 
 lbra  L00b4 
_dneg: ldb   #7 
 clra   
L001e ora   b,x 
 decb   
 bpl   L001e 
 tsta   
 lbeq  _xtofla 
 ldd   ,x 
 eora  #$80 
 lbra  L064d 
_dadd: lbsr  L04a7 
 lbsr  L0189 
 lbra  L00b4 
_dsub: lbsr  L04a7 
 lbsr  L015f 
 lbra  L00b4 
_dmul: lbsr  L04a7 
 lbsr  L0302 
 bra   L00b4 
_ddiv: lbsr  L04a7 
 lbsr  L032e 
 bra   L00b4 
_dtol: lbsr  _xtofla 
 lbra  L054b 
_dtoi: bsr   _dtol 
 ldd   2,x 
 rts    
_ltod: ldd   ,x 
 std   _flacc,y 
 ldd   2,x 
 leax  _flacc,y 
 std   2,x 
 lbra  L04eb 
_itod: leax  _flacc,y 
 std   2,x 
 tfr   a,b 
 sex    
 tfr   a,b 
 std   ,x 
 lbra  L04eb 
_utod: leax  _flacc,y 
 std   2,x 
 clr   ,x 
 clr   1,x 
 lbra  L04eb 
_dtof: ldd   ,x 
 std   _flacc,y 
 lda   2,x 
 ldb   7,x 
 leax  _flacc,y 
 std   2,x 
 rts    
_ftod: ldd   ,x 
 std   _flacc,y 
 ldd   2,x 
 leax  _flacc,y 
 sta   2,x 
 stb   7,x 
 clr   3,x 
 clr   4,x 
 clr   5,x 
 clr   6,x 
 rts    
L00b4 leax  _flacc,y 
 ldd   D0022,u 
 std   ,x 
 ldd   D0024,u 
 std   2,x 
 ldd   D0026,u 
 std   4,x 
 ldd   D0028,u 
 std   6,x 
 leas  D001e,u 
 puls  u 
 puls  d 
 std   6,s 
 leas  6,s 
 rts    
_dcmpr: lda   2,s 
 eora  ,x 
 bmi   L0147 
 lda   2,s 
 bmi   L011a 
 lda   9,s 
 beq   L0113 
 ldb   7,x 
 beq   L014b 
 cmpa  7,x 
 bne   L011e 
 ldd   2,s 
 cmpd  ,x 
 bne   L011e 
 ldd   4,s 
 cmpd  2,x 
 bne   L011e 
 ldd   6,s 
 cmpd  4,x 
 bne   L011e 
 lda   8,s 
 anda  #254 
 pshs  a 
 ldb   6,x 
 andb  #254 
 cmpa  ,s+ 
 bne   L011e 
 bra   L014f 
L0113 lda   7,x 
 bne   L015a 
 clra   
 bra   L014f 
L011a lda   7,x 
 cmpa  9,s 
L011e bhi   L014b 
 bcs   L015a 
 ldd   ,x 
 cmpd  2,s 
 bne   L011e 
 ldd   2,x 
 cmpd  4,s 
 bne   L011e 
 ldd   4,x 
 cmpd  6,s 
 bne   L011e 
 lda   6,x 
 anda  #254 
 pshs  a 
 lda   8,s 
 anda  #254 
 cmpa  ,s+ 
 bne   L011e 
 bra   L014f 
L0147 lda   ,x 
 bpl   L015a 
L014b lda   #1 
 andcc #254 
L014f pshs  cc 
 ldd   1,s 
 std   9,s 
 puls  cc 
 leas  8,s 
 rts    
L015a clra   
 cmpa  #1 
 bra   L014f 
L015f lda   D0017,u 
 beq   L0180 
 ldb   D001c,u 
 eorb  #$80 
 stb   D001c,u 
 eorb  D0018,u 
 stb   D0019,u 
 ldb   D0029,u 
 bne   L0192 
 lbsr  L061b 
 lda   D0022,u 
 lbra  L02d2 
L0180 lda   D0022,u 
 ldb   D0018,u 
 lbra  L02d5 
L0189 lbeq  L061b 
 lda   D0017,u 
 beq   L0180 
L0192 suba  D0029,u 
 beq   L01c3 
 sta   ,u 
 bcs   L01c9 
 ldb   D0017,u 
 stb   D0029,u 
 ldd   D0022,u 
L01a4 lsra   
 rorb   
 ror   D0024,u 
 ror   D0025,u 
 ror   D0026,u 
 ror   D0027,u 
 ror   D0028,u 
 dec   ,u 
 bne   L01a4 
 std   D0022,u 
L01bc lda   D0019,u 
 bmi   L0238 
 bra   L01e9 
L01c3 inc   ,u 
 orcc  #1 
 bra   L01bc 
L01c9 ldd   D0010,u 
L01cc lsra   
 rorb   
 ror   D0012,u 
 ror   D0013,u 
 ror   D0014,u 
 ror   D0015,u 
 ror   D0016,u 
 inc   ,u 
 bne   L01cc 
 std   D0010,u 
 lda   D0019,u 
 bmi   L023b 
L01e9 ldd   D0027,u 
 adcb  D0016,u 
 adca  D0015,u 
 std   D0027,u 
 ldd   D0025,u 
 adcb  D0014,u 
 adca  D0013,u 
 std   D0025,u 
 ldb   D0024,u 
 adcb  D0012,u 
 stb   D0024,u 
 ldd   D0022,u 
 adcb  D0011,u 
 adca  D0010,u 
 std   D0022,u 
 bcc   L0230 
 inc   D0029,u 
 ror   D0022,u 
 ror   D0023,u 
 ror   D0024,u 
 ror   D0025,u 
 ror   D0026,u 
 ror   D0027,u 
 ror   D0028,u 
L0230 lda   D001c,u 
 sta   D0019,u 
 bra   L028f 
L0238 rola   
 coma   
 asra   
L023b ldd   D0027,u 
 sbcb  D0016,u 
 sbca  D0015,u 
 std   D0027,u 
 ldd   D0025,u 
 sbcb  D0014,u 
 sbca  D0013,u 
 std   D0025,u 
 ldd   D0023,u 
 sbcb  D0012,u 
 sbca  D0011,u 
 std   D0023,u 
 lda   D0022,u 
 sbca  D0010,u 
 sta   D0022,u 
 lda   D0018,u 
 bcc   L028c 
 com   D0022,u 
 com   D0023,u 
 com   D0024,u 
 com   D0025,u 
 com   D0026,u 
 com   D0027,u 
 com   D0028,u 
 lda   ,u 
 beq   L0289 
 lbsr  L05d8 
L0289 lda   D001c,u 
L028c sta   D0019,u 
L028f clr   ,u 
L0291 lda   D0022,u 
 bmi   L02d2 
 ora   D0023,u 
 ora   D0024,u 
 ora   D0025,u 
 ora   D0026,u 
 ora   D0027,u 
 ora   D0028,u 
 beq   L02e6 
 ldd   D0022,u 
L02ad dec   D0029,u 
 bne   L02b5 
 dec   D001d,u 
L02b5 asl   ,u 
 rol   D0028,u 
 rol   D0027,u 
 rol   D0026,u 
 rol   D0025,u 
 rol   D0024,u 
 rolb   
 rola   
 bpl   L02ad 
 stb   D0023,u 
 ldb   D0029,u 
 beq   L02ea 
L02d2 ldb   D0019,u 
L02d5 anda  #$7f 
 andb  #$80 
 pshs  b 
 adda  ,s+ 
 sta   D0022,u 
 tst   D001d,u 
 bne   L02ea 
L02e5 rts    
L02e6 sta   D0029,u 
 rts    
L02ea lda   D001d,u 
 ldb   D0029,u 
 subd  #0 
 beq   L02fd 
 bmi   L02fd 
L02f7 ldd   #$0028 
 lbra  _rpterr 
L02fd lbsr  L0328 
 bra   L02f7 
L0302 beq   L0328 
 lda   D0017,u 
 beq   L0328 
 lbsr  L03a4 
 clra   
 ldb   D0029,u 
 addb  D0017,u 
 adca  #0 
 subd  #$0080 
 stb   D0029,u 
 sta   D001d,u 
 lbsr  L0291 
 lda   ,u 
 bpl   L02e5 
 lbra  L05d8 
L0328 clra   
 sta   D0029,u 
 bra   L038e 
L032e ldb   D0017,u 
 bne   L0339 
 ldd   #$0029 
 lbra  _rpterr 
L0339 tsta   
 beq   L0328 
 lbsr  L0402 
 clra   
 ldb   D0029,u 
 subb  D0017,u 
 sbca  #0 
 addd  #$0081 
 sta   D001d,u 
 stb   D0029,u 
 lda   6,u 
 coma   
 asra   
 ror   D0022,u 
 ror   D0023,u 
 ror   D0024,u 
 ror   D0025,u 
 ror   D0026,u 
 ror   D0027,u 
 ror   D0028,u 
 ror   ,u 
 lbsr  L0291 
 lda   ,u 
 bpl   L03a3 
 lbra  L05d8 
L0376 pshs  a 
 ldd   D0022,u 
 std   ,u 
 ldd   D0024,u 
 std   2,u 
 ldd   D0026,u 
 std   4,u 
 ldb   D0028,u 
 stb   6,u 
 puls  a 
L038e sta   D0022,u 
 sta   D0023,u 
 sta   D0024,u 
 sta   D0025,u 
 sta   D0026,u 
 sta   D0027,u 
 sta   D0028,u 
L03a3 rts    
L03a4 clra   
 bsr   L0376 
 ldb   #$38 
 stb   8,u 
L03ab lda   6,u 
 lsra   
 bcc   L03da 
 ldd   D0027,u 
 addd  D0015,u 
 std   D0027,u 
 ldd   D0025,u 
 adcb  D0014,u 
 adca  D0013,u 
 std   D0025,u 
 ldd   D0023,u 
 adcb  D0012,u 
 adca  D0011,u 
 std   D0023,u 
 lda   D0022,u 
 adca  D0010,u 
 sta   D0022,u 
L03da ror   D0022,u 
 ror   D0023,u 
 ror   D0024,u 
 ror   D0025,u 
 ror   D0026,u 
 ror   D0027,u 
 ror   D0028,u 
 ror   ,u 
 ror   1,u 
 ror   2,u 
 ror   3,u 
 ror   4,u 
 ror   5,u 
 ror   6,u 
 dec   8,u 
 bne   L03ab 
 rts    
L0402 clra   
 lbsr  L0376 
 ldb   #$39 
 stb   8,u 
L040a ldb   ,u 
 cmpb  D0010,u 
 bcs   L0441 
 ldd   5,u 
 subd  D0015,u 
 std   13,u 
 ldd   3,u 
 sbcb  D0014,u 
 sbca  D0013,u 
 std   11,u 
 ldb   2,u 
 sbcb  D0012,u 
 stb   10,u 
 ldd   ,u 
 sbcb  D0011,u 
 sbca  D0010,u 
 bcs   L0441 
 std   ,u 
 lda   10,u 
 sta   2,u 
 ldd   11,u 
 std   3,u 
 ldd   13,u 
 std   5,u 
L0441 rol   D0028,u 
 rol   D0027,u 
 rol   D0026,u 
 rol   D0025,u 
 rol   D0024,u 
 rol   D0023,u 
 rol   D0022,u 
 rol   6,u 
 rol   5,u 
 rol   4,u 
 rol   3,u 
 rol   2,u 
 rol   1,u 
 rol   ,u 
 dec   8,u 
 bhi   L040a 
 beq   L048f 
 ldd   5,u 
 subd  D0015,u 
 std   5,u 
 ldd   3,u 
 sbcb  D0014,u 
 sbca  D0013,u 
 std   3,u 
 ldd   1,u 
 sbcb  D0012,u 
 sbca  D0011,u 
 std   1,u 
 lda   ,u 
 sbca  D0010,u 
 sta   ,u 
 clra   
 bra   L0441 
L048f ror   ,u 
 com   D0022,u 
 com   D0023,u 
 com   D0024,u 
 com   D0025,u 
 com   D0026,u 
 com   D0027,u 
 com   D0028,u 
 rts    
L04a7 puls  d 
 pshs  u 
 leas  -30,s 
 tfr   s,u 
 pshs  d 
 clr   D001d,u 
 ldd   6,x 
 std   D0016,u 
 ldd   4,x 
 std   D0014,u 
 ldd   2,x 
 std   D0012,u 
 ldd   ,x 
 stb   D0011,u 
 tfr   a,b 
 sta   D001c,u 
 ora   #$80 
 sta   D0010,u 
 eorb  D0022,u 
 stb   D0019,u 
 lda   D0022,u 
 sta   D0018,u 
 ora   #$80 
 sta   D0022,u 
 lda   D0029,u 
 rts    
 leax  D0022,u 
L04eb lda   #$a0 
 sta   7,x 
 clr   4,x 
 clr   5,x 
 clr   6,x 
 lda   ,x 
 tfr   a,b 
 orb   1,x 
 orb   2,x 
 orb   3,x 
 beq   L0537 
 ldb   1,x 
 tsta   
 bpl   L0519 
 pshs  d 
 clra   
 clrb   
 subd  2,x 
 std   2,x 
 ldd   #0 
 sbcb  1,s 
 sbca  ,s 
 leas  2,s 
 bvs   L0523 
L0519 dec   7,x 
 asl   3,x 
 rol   2,x 
 rolb   
 rola   
 bpl   L0519 
L0523 anda  #$7f 
 tst   ,x 
 bpl   L052b 
 ora   #$80 
L052b std   ,x 
 rts    
 leax  D0022,u 
 clr   4,x 
 clr   5,x 
 clr   6,x 
L0537 clr   7,x 
L0539 clr   ,x 
 clr   1,x 
 clr   2,x 
 clr   3,x 
 rts    
L0542 ldd   #$002a 
 lbra  _rpterr 
 leax  D0022,u 
L054b ldb   7,x 
 beq   L0539 
 subb  #$81 
 bcs   L05ca 
 negb   
 addb  #$1f 
 bmi   L0542 
 bne   L056f 
 ldd   ,x 
 cmpd  #$8000 
 bne   L0542 
 lda   2,x 
 ora   3,x 
 ora   4,x 
 ora   5,x 
 ora   6,x 
 bne   L0542 
 rts    
L056f pshs  b 
 ldd   ,x 
 bmi   L0585 
 ora   #$80 
L0577 lsra   
 rorb   
 ror   2,x 
 ror   3,x 
 dec   ,s 
 bne   L0577 
 std   ,x 
 puls  b,pc 
L0585 clr   ,-s 
L0587 lsra   
 rorb   
 ror   2,x 
 ror   3,x 
 ror   4,x 
 ror   5,x 
 ror   6,x 
 bcc   L0597 
 inc   ,s 
L0597 dec   1,s 
 bne   L0587 
 std   ,x 
 ldd   ,s++ 
 bne   L05a9 
 lda   4,x 
 ora   5,x 
 ora   6,x 
 beq   L05ba 
L05a9 ldd   2,x 
 addd  #1 
 std   2,x 
 ldd   ,x 
 adcb  #0 
 adca  #0 
 bcs   L0542 
 std   ,x 
L05ba clra   
 clrb   
 subd  2,x 
 std   2,x 
 ldd   #0 
 sbcb  1,x 
 sbca  ,x 
 std   ,x 
 rts    
L05ca lda   ,x 
 lbpl  L0539 
 ldd   #-1 
 std   2,x 
 std   ,x 
 rts    
L05d8 inc   D0028,u 
 bne   L060e 
 inc   D0027,u 
 bne   L060e 
 inc   D0026,u 
 bne   L060e 
 inc   D0025,u 
 bne   L060e 
 inc   D0024,u 
 bne   L060e 
 inc   D0023,u 
 bne   L060e 
 ldb   D0022,u 
 tfr   b,a 
 anda  #$7f 
 inca   
 bpl   L0605 
 inc   D0029,u 
 anda  #$7f 
L0605 andb  #$80 
 pshs  b 
 adda  ,s+ 
 sta   D0022,u 
L060e rts    
L060f neg   D0000 
 neg   D0000 
 neg   D0000 
 neg   D0081 
 leax  >L060f,pcr 
L061b pshs  a 
 ldd   ,x 
 std   D0022,u 
 ldd   2,x 
 std   D0024,u 
 ldd   4,x 
 std   D0026,u 
 ldd   6,x 
 std   D0028,u 
 puls  a,pc 
L0633 pshs  a 
 ldd   D0022,u 
 std   ,x 
 ldd   D0024,u 
 std   2,x 
 ldd   D0026,u 
 std   4,x 
 ldd   D0028,u 
 std   6,x 
 puls  a,pc 
_xtofla: ldd   ,x 
L064d std   _flacc,y 
 ldd   2,x 
 std   _flacc+2,y 
 ldd   4,x 
 std   _flacc+4,y 
 ldd   6,x 
 leax  _flacc,y 
 std   6,x 
 rts    
_dinc: pshs  x 
 bsr   _dstack 
 leax  <L060f,pcr 
 pshs  x 
 lbsr  L04a7 
 lbsr  L0189 
L0675 ldx   D002a,u 
 bsr   L0633 
 ldx   D001e,u 
 leas  D002a,u 
 tfr   x,u 
 puls  x,pc 
_ddec: pshs  x 
 bsr   _dstack 
 leax  >L060f,pcr 
 pshs  x 
 lbsr  L04a7 
 lbsr  L015f 
 bra   L0675 
_finc: pshs  x 
 bsr   _fstack 
 leax  L060f,pcr 
 pshs  x 
 lbsr  L04a7 
 lbsr  L0189 
L06a6 ldx   D002a,u 
 ldd   D0022,u 
 std   ,x 
 lda   D0024,u 
 ldb   D0029,u 
 std   2,x 
 ldx   D001e,u 
 leas  D002a,u 
 tfr   x,u 
 puls  x,pc 
_fdec: pshs  x 
 bsr   _fstack 
 leax  L060f,pcr 
 pshs  x 
 lbsr  L04a7 
 lbsr  L015f 
 bra   L06a6 
_fstack: leas  -8,s 
 ldd   8,s 
 std   ,s 
 clra   
 clrb   
 std   5,s 
 std   7,s 
 ldd   ,x 
 std   2,s 
 ldd   2,x 
 sta   4,s 
 stb   9,s 
 rts    
_dstack: leas  -8,s 
 ldd   8,s 
 std   ,s 
 ldd   ,x 
 std   2,s 
 ldd   2,x 
 std   4,s 
 ldd   4,x 
 std   6,s 
 ldd   6,x 
 std   8,s 
 rts    
_fmove: pshs  u 
 ldu   4,s 
 exg   x,u 
 ldd   ,u 
 std   ,x 
 ldd   2,u 
 std   2,x 
 bra   L0726 
_dmove: pshs  u 
 ldu   4,s 
 exg   x,u 
 ldd   ,u 
 std   ,x 
 ldd   2,u 
 std   2,x 
 ldd   4,u 
 std   4,x 
 ldd   6,u 
 std   6,x 
L0726 puls  u 
 puls  d 
 std   ,s 
 rts    

 endsect