Skip to content

ASMHSE/SmplMath

 
 

Repository files navigation

SmplMath

The SmplMath macros system is a collection of MASM macros for evaluating mathematic expression developed by qWord. There are a whole bunch of macros for expression evaluation, comparison and FPU related topics.

example:

     .if fGT(Pb, @fSlv8(710.2740349*0.63))
						
        fSlv8 AaPbB = (spba + spbb /( 1 + (( Pb - spbc)/ spbd)^2)) \ 
                     * ((710.2740349 /  bDNAmx) - ( Pb /  BDNA))\
                     / (1.0 +  ( KAaPbB /  cAa1))
    .else
		
        fSlv8 AaPbB = (spbpa + spbpb * ( Pb ^  spbpc)) \ 
                     * ((710.2740349 /  bDNAmx) - ( Pb /  BDNA))\
                     / (1.0 +  ( KAaPbB /  cAa1))
    .endif

Well tested for 32 bits with ML, JWASM, ASMC (-Znk option) and UASM32.

In 64 bits was tested with JWASM by qWord, and recently some testing for ML64 using Masm64 SDK (see Masm32.com).

Additional macros

Complementary macros

Loops and Compound operators macros simplify in a controled way programming some calculations. Pseudo push/pop facilitate translations between 32 and 64 bits and allow dual bitness (See ObjAsm-C.1). Conditional flow macros solve some problems with floating point numbers comparisons and other early macro expansions.

Accesory macros

These include some additional macros provided by qWord, and an invoke macro modified from Steve Hutchesson's Masm64 SDK.

About

MASM macros to evaluate mathematical expressions like in high-level languages

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Assembly 100.0%