X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=16%2Fx%2Fmodex%2FMATH.INC;fp=16%2Fx%2Fmodex%2FMATH.INC;h=742af410ddf3568cc096661661b187e5128c9a5c;hb=ae047ad3be09d38573b5cab895472e31ef7d47c7;hp=0000000000000000000000000000000000000000;hpb=18306661fed9fc7474047d15cae6422292b1878d;p=16.git diff --git a/16/x/modex/MATH.INC b/16/x/modex/MATH.INC new file mode 100755 index 00000000..742af410 --- /dev/null +++ b/16/x/modex/MATH.INC @@ -0,0 +1,34 @@ +; +; MATH.INC - Include file for THREED.ASM +; + +; 3-dimensional point, coordinates in fixed format (16:16) +; +TPOINT STRUC + X DD ? + Y DD ? + Z DD ? +TPOINT ENDS + +; 2-dimensional point, coordinates in integer format +; +TIMAGEPOINT STRUC + IX DW ? + IY DW ? +TIMAGEPOINT ENDS + +; Fixed-point divide: EAX = EAX / arg +; +.xdiv MACRO arg + xor edx, edx + shld edx, eax, 16 + shl eax, 16 + idiv arg +ENDM + +; Fixed-point multiply: EAX = EAX * arg +; +.xmul MACRO arg + imul arg + shrd eax, edx, 16 +ENDM