From 405ef66b315f3a071c873668e317ff3ecdb762eb Mon Sep 17 00:00:00 2001 From: Veikko Sariola Date: Fri, 1 May 2020 09:17:10 +0300 Subject: [PATCH] Remove unnecessary code from Power-function. Also, improve comments. --- src/4klang.asm | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/src/4klang.asm b/src/4klang.asm index cc1f064..eb466d2 100644 --- a/src/4klang.asm +++ b/src/4klang.asm @@ -206,21 +206,19 @@ go4kENVMap: ; //---------------------------------------------------------------------------------------- ; // Power function (2^x) ; //---------------------------------------------------------------------------------------- -; // Input : st0 : base -; // st1 : exponent -; // Output: st0 : result +; // Input : st0 : x +; // Output: st0 : 2^x ; //---------------------------------------------------------------------------------------- -EXPORT MANGLE_FUNC(Power,0) ; // base exp - fld1 - fadd st0 - fyl2x ; // log2_base - fld1 ; // 1 log2_base - fld st1 ; // log2_base 1 log2_base - fprem ; // (frac)log2_base 1 log2_base - f2xm1 ; // 2 ^ '' - 1 1 log2_base - faddp st1, st0 ; // 2 ^ '' (int)log2_base - fscale - fstp st1 +EXPORT MANGLE_FUNC(Power,0) ; x + fld1 ; 1 x + fld st1 ; x 1 x + fprem ; mod(x,1) 1 x + f2xm1 ; 2^mod(x,1)-1 1 x + faddp st1,st0 ; 2^mod(x,1) x + fscale ; 2^mod(x,1)*2^trunc(x) x + ; Equal to: + ; 2^x x + fstp st1 ; 2^x ret ; //----------------------------------------------------------------------------------------