]> 4ch.mooo.com Git - 16.git/blobdiff - 16/x_/modex/MATH.INC
wwww
[16.git] / 16 / x_ / modex / MATH.INC
diff --git a/16/x_/modex/MATH.INC b/16/x_/modex/MATH.INC
new file mode 100755 (executable)
index 0000000..742af41
--- /dev/null
@@ -0,0 +1,34 @@
+;\r
+; MATH.INC - Include file for THREED.ASM\r
+;\r
+\r
+; 3-dimensional point, coordinates in fixed format (16:16)\r
+;\r
+TPOINT  STRUC\r
+        X       DD      ?\r
+        Y       DD      ?\r
+        Z       DD      ?\r
+TPOINT  ENDS\r
+\r
+; 2-dimensional point, coordinates in integer format\r
+;\r
+TIMAGEPOINT     STRUC\r
+        IX      DW      ?\r
+        IY      DW      ?\r
+TIMAGEPOINT     ENDS\r
+\r
+; Fixed-point divide: EAX = EAX / arg\r
+;\r
+.xdiv   MACRO   arg\r
+        xor     edx, edx\r
+        shld    edx, eax, 16\r
+        shl     eax, 16\r
+        idiv    arg\r
+ENDM\r
+\r
+; Fixed-point multiply: EAX = EAX * arg\r
+;\r
+.xmul   MACRO   arg\r
+        imul    arg\r
+        shrd    eax, edx, 16\r
+ENDM\r