Skip to content
 
 

Latest commit

 

History

100 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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 until 2.28) and UASM.

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

Currently most projects are Neutral Bitness (same code for 32 and 64 bits) with UASM.

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

Topics

Resources

Stars

8 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages