remove unused label
This commit is contained in:
parent
7253569f7e
commit
13d852eae1
102
math32.tal
102
math32.tal
|
@ -166,11 +166,11 @@
|
|||
COMPLEMENT32 RTN
|
||||
|
||||
( temporary registers )
|
||||
( used by most operations, except mul32 and div32 )
|
||||
@sh [ &x0 $1 &x1 $1 &x2 $1 &x3 $1
|
||||
&y0 $1 &y1 $1 &y2 $1 &y3 $1
|
||||
&z0 $1 &z1 $1 &z2 $1 &z3 $1
|
||||
&a0 $1 &a1 $1 &a2 $2 ]
|
||||
( shared by most operations, except mul32 and div32 )
|
||||
[ @x0 $1 @x1 $1 @x2 $1 @x3 $1
|
||||
@y0 $1 @y1 $1 @y2 $1 @y3 $1
|
||||
@z0 $1 @z1 $1 @z2 $1 @z3 $1
|
||||
@w0 $1 @w1 $1 @w2 $2 ]
|
||||
|
||||
( bit shifting )
|
||||
|
||||
|
@ -184,27 +184,27 @@
|
|||
|
||||
( shift right by 0-7 bits )
|
||||
@rshift32-0 ( x** n^ -> x<<n )
|
||||
STHk SFT ;sh/z3 STA ( write z3 )
|
||||
#00 STHkr SFT2 #00 ;sh/z3 LDA ORA2 ;sh/z2 STA2 ( write z2,z3 )
|
||||
#00 STHkr SFT2 #00 ;sh/z2 LDA ORA2 ;sh/z1 STA2 ( write z1,z2 )
|
||||
#00 STHr SFT2 #00 ;sh/z1 LDA ORA2 ( compute z0,z1 )
|
||||
;sh/z2 LDA2
|
||||
STHk SFT ;z3 STA ( write z3 )
|
||||
#00 STHkr SFT2 #00 ;z3 LDA ORA2 ;z2 STA2 ( write z2,z3 )
|
||||
#00 STHkr SFT2 #00 ;z2 LDA ORA2 ;z1 STA2 ( write z1,z2 )
|
||||
#00 STHr SFT2 #00 ;z1 LDA ORA2 ( compute z0,z1 )
|
||||
;z2 LDA2
|
||||
RTN
|
||||
|
||||
( shift right by 8-15 bits )
|
||||
@rshift32-1 ( x** n^ -> x<<n )
|
||||
#08 SUB STH POP
|
||||
STHkr SFT ;sh/z3 STA ( write z3 )
|
||||
#00 STHkr SFT2 #00 ;sh/z3 LDA ORA2 ;sh/z2 STA2 ( write z2,z3 )
|
||||
#00 STHr SFT2 #00 ;sh/z2 LDA ORA2 ( compute z1,z2 )
|
||||
#00 TOR ;sh/z3 LDA
|
||||
STHkr SFT ;z3 STA ( write z3 )
|
||||
#00 STHkr SFT2 #00 ;z3 LDA ORA2 ;z2 STA2 ( write z2,z3 )
|
||||
#00 STHr SFT2 #00 ;z2 LDA ORA2 ( compute z1,z2 )
|
||||
#00 TOR ;z3 LDA
|
||||
RTN
|
||||
|
||||
( shift right by 16-23 bits )
|
||||
@rshift32-2 ( x** n^ -> x<<n )
|
||||
#10 SUB STH POP2
|
||||
STHkr SFT ;sh/z3 STA ( write z3 )
|
||||
#00 STHr SFT2 #00 ;sh/z3 LDA ORA2 ( compute z2,z3 )
|
||||
STHkr SFT ;z3 STA ( write z3 )
|
||||
#00 STHr SFT2 #00 ;z3 LDA ORA2 ( compute z2,z3 )
|
||||
#0000 SWP2
|
||||
RTN
|
||||
|
||||
|
@ -226,30 +226,30 @@
|
|||
( shift left by 0-7 bits )
|
||||
@lshift32-0 ( x** n^ -> x<<n )
|
||||
#40 SFT STH ( stash n<<4 )
|
||||
#00 SWP STHkr SFT2 ;sh/z2 STA2 ( store z2,z3 )
|
||||
#00 SWP STHkr SFT2 #00 ;sh/z2 LDA ORA2 ;sh/z1 STA2 ( store z1,z2 )
|
||||
#00 SWP STHkr SFT2 #00 ;sh/z1 LDA ORA2 ;sh/z0 STA2 ( store z0,z1 )
|
||||
STHr SFT ;sh/z0 LDA ORA ( calculate z0 )
|
||||
;sh/z1 LDA ;sh/z2 LDA2
|
||||
#00 SWP STHkr SFT2 ;z2 STA2 ( store z2,z3 )
|
||||
#00 SWP STHkr SFT2 #00 ;z2 LDA ORA2 ;z1 STA2 ( store z1,z2 )
|
||||
#00 SWP STHkr SFT2 #00 ;z1 LDA ORA2 ;z0 STA2 ( store z0,z1 )
|
||||
STHr SFT ;z0 LDA ORA ( calculate z0 )
|
||||
;z1 LDA ;z2 LDA2
|
||||
RTN
|
||||
|
||||
( shift left by 8-15 bits )
|
||||
@lshift32-1 ( x** n^ -> x<<n )
|
||||
#08 SUB #40 SFT STH ( stash [n-8]<<4 )
|
||||
#00 SWP STHkr SFT2 ;sh/z1 STA2 ( store z1,z2 )
|
||||
#00 SWP STHkr SFT2 #00 ;sh/z1 LDA ORA2 ;sh/z0 STA2 ( store z0,z1 )
|
||||
STHr SFT ;sh/z0 LDA ORA ( calculate z0 )
|
||||
#00 SWP STHkr SFT2 ;z1 STA2 ( store z1,z2 )
|
||||
#00 SWP STHkr SFT2 #00 ;z1 LDA ORA2 ;z0 STA2 ( store z0,z1 )
|
||||
STHr SFT ;z0 LDA ORA ( calculate z0 )
|
||||
SWP POP ( x0 unused )
|
||||
;sh/z1 LDA2 #00
|
||||
;z1 LDA2 #00
|
||||
RTN
|
||||
|
||||
( shift left by 16-23 bits )
|
||||
@lshift32-2 ( x** n^ -> x<<n )
|
||||
#10 SUB #40 SFT STH ( stash [n-16]<<4 )
|
||||
#00 SWP STHkr SFT2 ;sh/z0 STA2 ( store z0,z1 )
|
||||
STHr SFT ;sh/z0 LDA ORA ( calculate z0 )
|
||||
#00 SWP STHkr SFT2 ;z0 STA2 ( store z0,z1 )
|
||||
STHr SFT ;z0 LDA ORA ( calculate z0 )
|
||||
STH POP2 STHr
|
||||
;sh/z1 LDA #0000
|
||||
;z1 LDA #0000
|
||||
RTN
|
||||
|
||||
( shift left by 24-31 bits )
|
||||
|
@ -263,27 +263,27 @@
|
|||
|
||||
( x + y )
|
||||
@add32 ( xhi* xlo* yhi* ylo* -> zhi* zlo* )
|
||||
;sh/y2 STA2 ;sh/y0 STA2 ( save ylo, yhi )
|
||||
;sh/x2 STA2 ;sh/x0 STA2 ( save xlo, xhi )
|
||||
#0000 #0000 ;sh/z0 STA2 ;sh/z2 STA2 ( reset zhi, zlo )
|
||||
;y2 STA2 ;y0 STA2 ( save ylo, yhi )
|
||||
;x2 STA2 ;x0 STA2 ( save xlo, xhi )
|
||||
#0000 #0000 ;z0 STA2 ;z2 STA2 ( reset zhi, zlo )
|
||||
|
||||
( x3 + y3 => z2z3 )
|
||||
#00 ;sh/x3 LDA #00 ;sh/y3 LDA ADD2 ;sh/z2 STA2
|
||||
#00 ;x3 LDA #00 ;y3 LDA ADD2 ;z2 STA2
|
||||
|
||||
( x2 + y2 + z2 => z1z2 )
|
||||
#00 ;sh/x2 LDA ;sh/z1 LDA2 ADD2 ;sh/z1 STA2
|
||||
#00 ;sh/y2 LDA ;sh/z1 LDA2 ADD2 ;sh/z1 STA2
|
||||
#00 ;x2 LDA ;z1 LDA2 ADD2 ;z1 STA2
|
||||
#00 ;y2 LDA ;z1 LDA2 ADD2 ;z1 STA2
|
||||
|
||||
( x1 + y1 + z1 => z0z1 )
|
||||
#00 ;sh/x1 LDA ;sh/z0 LDA2 ADD2 ;sh/z0 STA2
|
||||
#00 ;sh/y1 LDA ;sh/z0 LDA2 ADD2 ;sh/z0 STA2
|
||||
#00 ;x1 LDA ;z0 LDA2 ADD2 ;z0 STA2
|
||||
#00 ;y1 LDA ;z0 LDA2 ADD2 ;z0 STA2
|
||||
|
||||
( x0 + y0 + z0 => z0 )
|
||||
;sh/x0 LDA ;sh/z0 LDA ADD ;sh/z0 STA
|
||||
;sh/y0 LDA ;sh/z0 LDA ADD ;sh/z0 STA
|
||||
;x0 LDA ;z0 LDA ADD ;z0 STA
|
||||
;y0 LDA ;z0 LDA ADD ;z0 STA
|
||||
|
||||
( load zhi,zlo )
|
||||
;sh/z0 LDA2 ;sh/z2 LDA2
|
||||
;z0 LDA2 ;z2 LDA2
|
||||
RTN
|
||||
|
||||
( -x )
|
||||
|
@ -302,26 +302,26 @@
|
|||
|
||||
( 16-bit multiplication )
|
||||
@mul16 ( x* y* -> z** )
|
||||
;sh/y1 STA ;sh/y0 STA ( save ylo, yhi )
|
||||
;sh/x1 STA ;sh/x0 STA ( save xlo, xhi )
|
||||
#0000 #00 ;sh/z1 STA2 ;sh/z3 STA ( reset z1,z2,z3 )
|
||||
#0000 #00 ;sh/a0 STA2 ;sh/a2 STA ( reset a0,a1,a2 )
|
||||
;y1 STA ;y0 STA ( save ylo, yhi )
|
||||
;x1 STA ;x0 STA ( save xlo, xhi )
|
||||
#0000 #00 ;z1 STA2 ;z3 STA ( reset z1,z2,z3 )
|
||||
#0000 #00 ;w0 STA2 ;w2 STA ( reset w0,w1,w2 )
|
||||
|
||||
( x1 * y1 => z1z2 )
|
||||
#00 ;sh/x1 LDA #00 ;sh/y1 LDA MUL2 ;sh/z2 STA2
|
||||
#00 ;x1 LDA #00 ;y1 LDA MUL2 ;z2 STA2
|
||||
|
||||
( x0 * y1 => z0z1 )
|
||||
#00 ;sh/x0 LDA #00 ;sh/y1 LDA MUL2 ;sh/z1 LDA2 ADD2 ;sh/z1 STA2
|
||||
#00 ;x0 LDA #00 ;y1 LDA MUL2 ;z1 LDA2 ADD2 ;z1 STA2
|
||||
|
||||
( x1 * y0 => a1a2 )
|
||||
#00 ;sh/x1 LDA #00 ;sh/y0 LDA MUL2 ;sh/a1 STA2
|
||||
( x1 * y0 => w1w2 )
|
||||
#00 ;x1 LDA #00 ;y0 LDA MUL2 ;w1 STA2
|
||||
|
||||
( x0 * y0 => a0a1 )
|
||||
#00 ;sh/x0 LDA #00 ;sh/y0 LDA MUL2 ;sh/a0 LDA2 ADD2 ;sh/a0 STA2
|
||||
( x0 * y0 => w0w1 )
|
||||
#00 ;x0 LDA #00 ;y0 LDA MUL2 ;w0 LDA2 ADD2 ;w0 STA2
|
||||
|
||||
( add z and a<<8 )
|
||||
#00 ;sh/z1 LDA2 ;sh/z3 LDA
|
||||
;sh/a0 LDA2 ;sh/a2 LDA #00
|
||||
#00 ;z1 LDA2 ;z3 LDA
|
||||
;w0 LDA2 ;w2 LDA #00
|
||||
;add32 JSR2
|
||||
RTN
|
||||
|
||||
|
|
Loading…
Reference in New Issue