diff --git a/math32.tal b/math32.tal index 7855c0b..3edca56 100644 --- a/math32.tal +++ b/math32.tal @@ -80,7 +80,7 @@ DUP #00 NEQ ( xlo nhi nhi!=0 ) ,&hi-set JCN ( xlo nhi ) SWP ;bitcount8 JSR2 ADD ( nhi+nlo ) - JMP2r + JMP2r &hi-set SWP POP #08 ADD ( nhi+8 ) JMP2r @@ -92,7 +92,7 @@ ,&hi-set JCN ( xlo* nhi ) TOR ;bitcount16 JSR2 ADD JMP2r ( nhi+nlo ) &hi-set - TOR POP2 #10 ADD ( nhi+16 ) + TOR POP2 #10 ADD ( nhi+16 ) JMP2r ( equality ) @@ -194,7 +194,7 @@ ( shift right by 8-15 bits ) @rshift32-1 ( x** n^ -> x< z** ) +@mul32 ( x** y** -> z** ) ,&y1 STR2 ,&y0 STR2 ( save ylo, yhi ) ,&x1 STR2 ,&x0 STR2 ( save xlo, xhi ) ,&y1 LDR2 ,&x1 LDR2 ;mul16 JSR2 ( [x1*y1] ) @@ -382,10 +382,10 @@ ( 1< cur ) #0000 #0001 ROT2 POP ;lshift32 JSR2 ,&cur1 STR2 ,&cur0 STR2 - + ( div< div ) ,&div0 LDR2 ,&div1 LDR2 ROT2 POP - ;lshift32 JSR2 ,&div1 STR2 ,&div0 STR2 + ;lshift32 JSR2 ,&div1 STR2 ,&div0 STR2 ,&loop JMP