From 0770c95c17191b8945695eb5c27c11d279e3c1b9 Mon Sep 17 00:00:00 2001 From: Steven Fuller Date: Mon, 6 Aug 2001 19:50:26 +0000 Subject: Moved TranslatePoint into a separate file. Implemented most of the main loop in main.c. Game now seems to run OK. Need to write texture code and then add OpenGL. --- src/math.asm | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 src/math.asm (limited to 'src/math.asm') diff --git a/src/math.asm b/src/math.asm new file mode 100644 index 0000000..555b289 --- /dev/null +++ b/src/math.asm @@ -0,0 +1,52 @@ +BITS 32 +SECTION .text + +GLOBAL TranslatePoint_Asm + +; float *source, float *dest, float *matrix +; "S" (source), "b" (dest), "d" (matrix) +TranslatePoint_Asm: + fld dword [esi] + fmul dword [edi] + fld dword [esi+4] + fmul dword [edi+4] + fld dword [esi+8] + fmul dword [edi+8] + fxch st1 + faddp st2, st0 + fld dword [esi] + fmul dword [edi+16] + fxch st1 + faddp st2, st0 + fld dword [esi+4] + fmul dword [edi+20] + fld dword [esi+8] + fmul dword [edi+24] + fxch st1 + faddp st2, st0 + fld dword [esi] + fmul dword [edi+32] + fxch st1 + faddp st2, st0 + fld dword [esi+4] + fmul dword [edi+36] + fld dword [esi+8] + fmul dword [edi+40] + fxch st1 + faddp st2, st0 + fxch st3 + fadd dword [edi+12] + fxch st1 + faddp st3, st0 + fxch st1 + fadd dword [edi+28] + fxch st2 + fadd dword [edi+44] + fxch st1 + fstp dword [ebx] + fxch st1 + fstp dword [ebx+4] + fstp dword [ebx+8] + + ret + \ No newline at end of file -- cgit v1.3