asm: rename TEXT, DATA, CONST macros to SEG_TEXT, SEG_DATA and SEG_CONST
Defining certain keywords in nasm makes it go haywire. See, https://bugzilla.nasm.us/show_bug.cgi?id=3392505 $ cat 1.asm %define TEXT _TEXT align=1 public use32 class=CODE FLAT %define DATA _DATA align=4 public use32 class=DATA FLAT %define CONST CONST2 align=4 public use32 class=DATA FLAT segment TEXT segment DATA segment CONST $ nasm -E 1.asm %line 4+1 1.asm [segment _TEXT align=1 public use32 class=CODE FLAT] [segment _DATA align=4 public use32 class=_DATA align=4 public use32 class=DATA FLAT FLAT] [segment CONST2 align=4 public use32 class=_DATA align=4 public use32 class=_DATA align=4 public use32 class=DATA FLAT FLAT FLAT] Either this (with nasm-2.0..nasm-2.09.xx), or it errors out with: 1.asm:6: error: interminable macro recursion 1.asm:7: error: interminable macro recursion ... which happens with nasm-2.10.xx-nasm-2.13.01 The glide3 tree uses this for Watcom builds / obj output format, and the result is not what is intended. After the renaming, it works as expected: $ cat 1.asm %define SEG_TEXT _TEXT align=1 public use32 class=CODE FLAT %define SEG_DATA _DATA align=4 public use32 class=DATA FLAT %define SEG_CONST CONST2 align=4 public use32 class=DATA FLAT segment SEG_TEXT segment SEG_DATA segment SEG_CONST $ nasm -E 1.asm %line 4+1 1.asm [segment _TEXT align=1 public use32 class=CODE FLAT] [segment _DATA align=4 public use32 class=DATA FLAT] [segment CONST2 align=4 public use32 class=DATA FLAT]
This commit is contained in:
@@ -32,7 +32,6 @@
|
||||
;; Revision 1.1.1.1 1999/12/07 21:49:13 joseph
|
||||
;; Initial checkin into SourceForge.
|
||||
;;
|
||||
;;
|
||||
;; 7 5/18/98 12:16p Peter
|
||||
;; culling enabling
|
||||
;
|
||||
@@ -88,7 +87,7 @@ extrn _FifoMakeRoom, 12
|
||||
%endif
|
||||
%ENDMACRO ; WRITE_MM1LOW_FIFO
|
||||
|
||||
segment DATA
|
||||
segment SEG_DATA
|
||||
One DD 1.0
|
||||
Area DD 0
|
||||
%IF GLIDE_PACKED_RGB
|
||||
@@ -96,7 +95,7 @@ segment DATA
|
||||
bias1 DD 0
|
||||
%ENDIF
|
||||
|
||||
segment CONST
|
||||
segment SEG_CONST
|
||||
$T2003 DD 12288.0
|
||||
$T2005 DD 1.0
|
||||
$T2006 DD 256.0
|
||||
@@ -125,7 +124,7 @@ Y equ 4
|
||||
;; enables/disables trisProcessed and trisDrawn counters
|
||||
%define STATS 1
|
||||
|
||||
segment TEXT
|
||||
segment SEG_TEXT
|
||||
|
||||
ALIGN 32
|
||||
PROC_TYPE _trisetup_cull
|
||||
|
||||
@@ -107,9 +107,9 @@
|
||||
;---------------------------------------
|
||||
%if XOS == XOS_WIN32
|
||||
|
||||
%define TEXT .text align=32
|
||||
%define DATA .data align=32
|
||||
%define CONST .rdata align=32
|
||||
%define SEG_TEXT .text align=32
|
||||
%define SEG_DATA .data align=32
|
||||
%define SEG_CONST .rdata align=32
|
||||
|
||||
%macro GET_GC 0
|
||||
mov gc, [_GlideRoot + curGC]
|
||||
@@ -122,9 +122,9 @@
|
||||
;---------------------------------------
|
||||
%if XOS == XOS_DJGPP
|
||||
|
||||
%define TEXT .text
|
||||
%define DATA .data
|
||||
%define CONST .rodata
|
||||
%define SEG_TEXT .text
|
||||
%define SEG_DATA .data
|
||||
%define SEG_CONST .rodata
|
||||
|
||||
%macro GET_GC 0
|
||||
mov gc, [_GlideRoot + curGC]
|
||||
@@ -137,9 +137,9 @@
|
||||
;---------------------------------------
|
||||
%if XOS == XOS_LINUX
|
||||
|
||||
%define TEXT .text align=32
|
||||
%define DATA .data align=32
|
||||
%define CONST .rodata align=32
|
||||
%define SEG_TEXT .text align=32
|
||||
%define SEG_DATA .data align=32
|
||||
%define SEG_CONST .rodata align=32
|
||||
|
||||
%macro GET_GC 0
|
||||
mov gc, [_GlideRoot + curGC]
|
||||
@@ -152,9 +152,9 @@
|
||||
;---------------------------------------
|
||||
%if XOS == XOS_WATCD
|
||||
|
||||
%define TEXT _TEXT align=1 public use32 class=CODE FLAT
|
||||
%define DATA _DATA align=4 public use32 class=DATA FLAT
|
||||
%define CONST CONST2 align=4 public use32 class=DATA FLAT
|
||||
%define SEG_TEXT _TEXT align=1 public use32 class=CODE FLAT
|
||||
%define SEG_DATA _DATA align=4 public use32 class=DATA FLAT
|
||||
%define SEG_CONST CONST2 align=4 public use32 class=DATA FLAT
|
||||
|
||||
%macro GET_GC 0
|
||||
mov gc, [_GlideRoot + curGC]
|
||||
|
||||
@@ -120,7 +120,7 @@ _texData$ equ 24 + STACKOFFSET
|
||||
;
|
||||
;--------------------------------------------------------------------------
|
||||
|
||||
segment TEXT
|
||||
segment SEG_TEXT
|
||||
|
||||
ALIGN 32
|
||||
|
||||
|
||||
@@ -69,7 +69,7 @@ CPUTypeP6 equ 6h
|
||||
|
||||
;;; References to external data:
|
||||
|
||||
segment TEXT
|
||||
segment SEG_TEXT
|
||||
;;
|
||||
;; _cpu_detect_asm - detect the type of CPU
|
||||
;;
|
||||
@@ -279,7 +279,6 @@ UnknownVendor:
|
||||
mov eax, 0ffffffffh
|
||||
jmp DoneCpu
|
||||
|
||||
|
||||
endp
|
||||
|
||||
|
||||
|
||||
@@ -106,9 +106,9 @@
|
||||
;---------------------------------------
|
||||
%if XOS == XOS_WIN32
|
||||
|
||||
%define TEXT .text align=32
|
||||
%define DATA .data align=32
|
||||
%define CONST .rdata align=32
|
||||
%define SEG_TEXT .text align=32
|
||||
%define SEG_DATA .data align=32
|
||||
%define SEG_CONST .rdata align=32
|
||||
|
||||
%endif
|
||||
|
||||
@@ -117,9 +117,9 @@
|
||||
;---------------------------------------
|
||||
%if XOS == XOS_DJGPP
|
||||
|
||||
%define TEXT .text
|
||||
%define DATA .data
|
||||
%define CONST .rodata
|
||||
%define SEG_TEXT .text
|
||||
%define SEG_DATA .data
|
||||
%define SEG_CONST .rodata
|
||||
|
||||
%endif
|
||||
|
||||
@@ -128,9 +128,9 @@
|
||||
;---------------------------------------
|
||||
%if XOS == XOS_LINUX
|
||||
|
||||
%define TEXT .text align=32
|
||||
%define DATA .data align=32
|
||||
%define CONST .rodata align=32
|
||||
%define SEG_TEXT .text align=32
|
||||
%define SEG_DATA .data align=32
|
||||
%define SEG_CONST .rodata align=32
|
||||
|
||||
%endif
|
||||
|
||||
@@ -139,8 +139,8 @@
|
||||
;---------------------------------------
|
||||
%if XOS == XOS_WATCD
|
||||
|
||||
%define TEXT _TEXT align=1 public use32 class=CODE FLAT
|
||||
%define DATA _DATA align=4 public use32 class=DATA FLAT
|
||||
%define CONST CONST2 align=4 public use32 class=DATA FLAT
|
||||
%define SEG_TEXT _TEXT align=1 public use32 class=CODE FLAT
|
||||
%define SEG_DATA _DATA align=4 public use32 class=DATA FLAT
|
||||
%define SEG_CONST CONST2 align=4 public use32 class=DATA FLAT
|
||||
|
||||
%endif
|
||||
|
||||
@@ -47,7 +47,7 @@ CPUTypeP6 equ 6h
|
||||
|
||||
;;; References to external data:
|
||||
|
||||
segment TEXT
|
||||
segment SEG_TEXT
|
||||
;;
|
||||
;; _cpu_detect_asm - detect the type of CPU
|
||||
;;
|
||||
|
||||
@@ -106,9 +106,9 @@
|
||||
;---------------------------------------
|
||||
%if XOS == XOS_WIN32
|
||||
|
||||
%define TEXT .text align=32
|
||||
%define DATA .data align=32
|
||||
%define CONST .rdata align=32
|
||||
%define SEG_TEXT .text align=32
|
||||
%define SEG_DATA .data align=32
|
||||
%define SEG_CONST .rdata align=32
|
||||
|
||||
%macro GET_GC 0
|
||||
mov gc, [_GlideRoot + curGC]
|
||||
@@ -121,9 +121,9 @@
|
||||
;---------------------------------------
|
||||
%if XOS == XOS_DJGPP
|
||||
|
||||
%define TEXT .text
|
||||
%define DATA .data
|
||||
%define CONST .rodata
|
||||
%define SEG_TEXT .text
|
||||
%define SEG_DATA .data
|
||||
%define SEG_CONST .rodata
|
||||
|
||||
%macro GET_GC 0
|
||||
mov gc, [_GlideRoot + curGC]
|
||||
@@ -136,9 +136,9 @@
|
||||
;---------------------------------------
|
||||
%if XOS == XOS_LINUX
|
||||
|
||||
%define TEXT .text align=32
|
||||
%define DATA .data align=32
|
||||
%define CONST .rodata align=32
|
||||
%define SEG_TEXT .text align=32
|
||||
%define SEG_DATA .data align=32
|
||||
%define SEG_CONST .rodata align=32
|
||||
|
||||
%macro GET_GC 0
|
||||
mov gc, [_GlideRoot + curGC]
|
||||
@@ -151,9 +151,9 @@
|
||||
;---------------------------------------
|
||||
%if XOS == XOS_WATCD
|
||||
|
||||
%define TEXT _TEXT align=1 public use32 class=CODE FLAT
|
||||
%define DATA _DATA align=4 public use32 class=DATA FLAT
|
||||
%define CONST CONST2 align=4 public use32 class=DATA FLAT
|
||||
%define SEG_TEXT _TEXT align=1 public use32 class=CODE FLAT
|
||||
%define SEG_DATA _DATA align=4 public use32 class=DATA FLAT
|
||||
%define SEG_CONST CONST2 align=4 public use32 class=DATA FLAT
|
||||
|
||||
%macro GET_GC 0
|
||||
mov gc, [_GlideRoot + curGC]
|
||||
|
||||
@@ -54,7 +54,7 @@ CPUTypeP6 equ 6h
|
||||
|
||||
;;; References to external data:
|
||||
|
||||
segment TEXT
|
||||
segment SEG_TEXT
|
||||
;;
|
||||
;; _cpu_detect_asm - detect the type of CPU
|
||||
;;
|
||||
|
||||
@@ -96,7 +96,7 @@ extrn _FifoMakeRoom
|
||||
|
||||
%ENDMACRO ; WRITE_MM1LOW_FIFO
|
||||
|
||||
segment DATA
|
||||
segment SEG_DATA
|
||||
One DD 1.0
|
||||
Area DD 0
|
||||
|
||||
@@ -119,7 +119,7 @@ _vc$ equ 12 + STKOFF
|
||||
X equ 0
|
||||
Y equ 4
|
||||
|
||||
segment CONST
|
||||
segment SEG_CONST
|
||||
T2003 DD 12288.0 ; 12288
|
||||
T2005 DD 1.0 ; 1
|
||||
T2006 DD 256.0 ; 256
|
||||
@@ -134,7 +134,7 @@ T2006 DD 256.0 ; 256
|
||||
|
||||
;--------------------------------------------------------------------------
|
||||
|
||||
segment TEXT
|
||||
segment SEG_TEXT
|
||||
|
||||
ALIGN 32
|
||||
|
||||
|
||||
@@ -30,11 +30,11 @@
|
||||
extrn _GlideRoot
|
||||
extrn _FifoMakeRoom
|
||||
|
||||
segment CONST
|
||||
segment SEG_CONST
|
||||
ALIGN 8
|
||||
_F256_F256 DD 256.0, 256.0
|
||||
|
||||
segment DATA
|
||||
segment SEG_DATA
|
||||
ALIGN 8
|
||||
btab DD 0, 0, 0, 0, 0, 0, 0, 0
|
||||
atab DD 0, 0, 0, 0, 0, 0, 0, 0
|
||||
@@ -42,7 +42,7 @@ vSize DD 0
|
||||
strideinbytes DD 0
|
||||
vertices DD 0
|
||||
|
||||
segment TEXT
|
||||
segment SEG_TEXT
|
||||
|
||||
_pktype equ 20
|
||||
_type equ 24
|
||||
@@ -3805,14 +3805,14 @@ endp
|
||||
extrn _GlideRoot
|
||||
extrn _FifoMakeRoom
|
||||
|
||||
segment CONST
|
||||
segment SEG_CONST
|
||||
_F1 DD 1.0
|
||||
_F256 DD 256.0
|
||||
|
||||
_VPF1 DD 1.0
|
||||
_VPF256 DD 256.0
|
||||
|
||||
segment DATA
|
||||
segment SEG_DATA
|
||||
vSize DD 0
|
||||
ccoow DD 0
|
||||
packetVal DD 0
|
||||
@@ -3835,7 +3835,7 @@ xc DD 0
|
||||
yc DD 0
|
||||
zArea DD 0
|
||||
|
||||
segment TEXT
|
||||
segment SEG_TEXT
|
||||
%define _pktype 20
|
||||
%define _type 24
|
||||
%define _mode 28
|
||||
|
||||
@@ -102,9 +102,9 @@
|
||||
;---------------------------------------
|
||||
%if XOS == XOS_WIN32
|
||||
|
||||
%define TEXT .text align=32
|
||||
%define DATA .data align=32
|
||||
%define CONST .rdata align=32
|
||||
%define SEG_TEXT .text align=32
|
||||
%define SEG_DATA .data align=32
|
||||
%define SEG_CONST .rdata align=32
|
||||
|
||||
%macro GET_GC 0
|
||||
mov gc, [_GlideRoot + curGC]
|
||||
@@ -117,9 +117,9 @@
|
||||
;---------------------------------------
|
||||
%if XOS == XOS_DJGPP
|
||||
|
||||
%define TEXT .text
|
||||
%define DATA .data
|
||||
%define CONST .rodata
|
||||
%define SEG_TEXT .text
|
||||
%define SEG_DATA .data
|
||||
%define SEG_CONST .rodata
|
||||
|
||||
%macro GET_GC 0
|
||||
mov gc, [_GlideRoot + curGC]
|
||||
@@ -132,9 +132,9 @@
|
||||
;---------------------------------------
|
||||
%if XOS == XOS_LINUX
|
||||
|
||||
%define TEXT .text align=32
|
||||
%define DATA .data align=32
|
||||
%define CONST .rodata align=32
|
||||
%define SEG_TEXT .text align=32
|
||||
%define SEG_DATA .data align=32
|
||||
%define SEG_CONST .rodata align=32
|
||||
|
||||
%macro GET_GC 0
|
||||
mov gc, [_GlideRoot + curGC]
|
||||
@@ -147,9 +147,9 @@
|
||||
;---------------------------------------
|
||||
%if XOS == XOS_WATCD
|
||||
|
||||
%define TEXT _TEXT align=1 public use32 class=CODE FLAT
|
||||
%define DATA _DATA align=4 public use32 class=DATA FLAT
|
||||
%define CONST CONST2 align=4 public use32 class=DATA FLAT
|
||||
%define SEG_TEXT _TEXT align=1 public use32 class=CODE FLAT
|
||||
%define SEG_DATA _DATA align=4 public use32 class=DATA FLAT
|
||||
%define SEG_CONST CONST2 align=4 public use32 class=DATA FLAT
|
||||
|
||||
%macro GET_GC 0
|
||||
mov gc, [_GlideRoot + curGC]
|
||||
|
||||
@@ -123,7 +123,7 @@ _texData$ equ 24 + STACKOFFSET
|
||||
;
|
||||
;--------------------------------------------------------------------------
|
||||
|
||||
segment TEXT
|
||||
segment SEG_TEXT
|
||||
|
||||
ALIGN 32
|
||||
|
||||
@@ -342,7 +342,7 @@ endp
|
||||
;
|
||||
;--------------------------------------------------------------------------
|
||||
|
||||
segment TEXT
|
||||
segment SEG_TEXT
|
||||
|
||||
ALIGN 32
|
||||
|
||||
@@ -533,7 +533,7 @@ endp
|
||||
|
||||
|
||||
|
||||
;segment TEXT
|
||||
;segment SEG_TEXT
|
||||
|
||||
ALIGN 32
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ CPUTypeP6 equ 6h
|
||||
|
||||
;;; References to external data:
|
||||
|
||||
segment TEXT
|
||||
segment SEG_TEXT
|
||||
;;
|
||||
;; _cpu_detect_asm - detect the type of CPU
|
||||
;;
|
||||
@@ -274,7 +274,6 @@ UnknownVendor:
|
||||
mov eax, 0ffffffffh
|
||||
jmp DoneCpu
|
||||
|
||||
|
||||
endp
|
||||
|
||||
|
||||
|
||||
@@ -108,11 +108,11 @@ extrn _grValidateState
|
||||
movd [fifo], mm1 ; store current param | previous param
|
||||
%ENDMACRO ; WRITE_MM1LOW_FIFO
|
||||
|
||||
segment DATA
|
||||
segment SEG_DATA
|
||||
One DD 1.0
|
||||
Area DD 0
|
||||
|
||||
segment CONST
|
||||
segment SEG_CONST
|
||||
$T2003 DD 12288.0
|
||||
$T2005 DD 1.0
|
||||
$T2006 DD 256.0
|
||||
@@ -150,7 +150,7 @@ Y equ 4
|
||||
|
||||
;--------------------------------------------------------------------------
|
||||
|
||||
segment TEXT
|
||||
segment SEG_TEXT
|
||||
|
||||
ALIGN 32
|
||||
PROC_TYPE clip_nocull_invalid
|
||||
|
||||
@@ -31,11 +31,11 @@ extrn _grCommandTransportMakeRoom, 12
|
||||
;;; include listing.inc
|
||||
%INCLUDE "fxgasm.h"
|
||||
|
||||
segment CONST
|
||||
segment SEG_CONST
|
||||
ALIGN 8
|
||||
_F256_F256 DD 256.0, 256.0
|
||||
|
||||
segment DATA
|
||||
segment SEG_DATA
|
||||
ALIGN 8
|
||||
btab DD 0, 0, 0, 0, 0, 0, 0, 0
|
||||
atab DD 0, 0, 0, 0, 0, 0, 0, 0
|
||||
@@ -44,7 +44,7 @@ strideinbytes DD 0
|
||||
vertices DD 0
|
||||
|
||||
|
||||
segment TEXT
|
||||
segment SEG_TEXT
|
||||
|
||||
ALIGN 32
|
||||
%define _mode 20
|
||||
@@ -2143,14 +2143,14 @@ endp
|
||||
;;; include listing.inc
|
||||
%INCLUDE "fxgasm.h"
|
||||
|
||||
segment CONST
|
||||
segment SEG_CONST
|
||||
_F1 DD 1.0
|
||||
_F256 DD 256.0
|
||||
|
||||
_VPF1 DD 1.0
|
||||
_VPF256 DD 256.0
|
||||
|
||||
segment DATA
|
||||
segment SEG_DATA
|
||||
vSize DD 0
|
||||
ccoow DD 0
|
||||
packetVal DD 0
|
||||
@@ -2162,7 +2162,7 @@ vPtr0 DD 0
|
||||
vPtr1 DD 0
|
||||
vPtr2 DD 0
|
||||
|
||||
segment TEXT
|
||||
segment SEG_TEXT
|
||||
|
||||
_pktype equ 20
|
||||
_type equ 24
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
|
||||
extrn _GlideRoot
|
||||
|
||||
segment TEXT
|
||||
segment SEG_TEXT
|
||||
|
||||
align 4
|
||||
proc grDrawTriangle, 12
|
||||
|
||||
@@ -102,9 +102,9 @@
|
||||
;---------------------------------------
|
||||
%if XOS == XOS_WIN32
|
||||
|
||||
%define TEXT .text align=32
|
||||
%define DATA .data align=32
|
||||
%define CONST .rdata align=32
|
||||
%define SEG_TEXT .text align=32
|
||||
%define SEG_DATA .data align=32
|
||||
%define SEG_CONST .rdata align=32
|
||||
|
||||
%macro SET_TLSBASE 1
|
||||
mov %1, dword [fs:18h] ; get thread local storage base pointer
|
||||
@@ -125,9 +125,9 @@
|
||||
;---------------------------------------
|
||||
%if XOS == XOS_DJGPP
|
||||
|
||||
%define TEXT .text
|
||||
%define DATA .data
|
||||
%define CONST .rodata
|
||||
%define SEG_TEXT .text
|
||||
%define SEG_DATA .data
|
||||
%define SEG_CONST .rodata
|
||||
|
||||
extrn threadValueDJGPP
|
||||
|
||||
@@ -148,9 +148,9 @@ extrn threadValueDJGPP
|
||||
;---------------------------------------
|
||||
%if XOS == XOS_LINUX
|
||||
|
||||
%define TEXT .text align=32
|
||||
%define DATA .data align=32
|
||||
%define CONST .rodata align=32
|
||||
%define SEG_TEXT .text align=32
|
||||
%define SEG_DATA .data align=32
|
||||
%define SEG_CONST .rodata align=32
|
||||
|
||||
extrn threadValueLinux
|
||||
|
||||
@@ -171,9 +171,9 @@ extrn threadValueLinux
|
||||
;---------------------------------------
|
||||
%if XOS == XOS_WATCD
|
||||
|
||||
%define TEXT _TEXT align=1 public use32 class=CODE FLAT
|
||||
%define DATA _DATA align=4 public use32 class=DATA FLAT
|
||||
%define CONST CONST2 align=4 public use32 class=DATA FLAT
|
||||
%define SEG_TEXT _TEXT align=1 public use32 class=CODE FLAT
|
||||
%define SEG_DATA _DATA align=4 public use32 class=DATA FLAT
|
||||
%define SEG_CONST CONST2 align=4 public use32 class=DATA FLAT
|
||||
|
||||
extrn threadValueDJGPP
|
||||
|
||||
|
||||
@@ -111,7 +111,7 @@ _texData$ equ 24 + STACKOFFSET
|
||||
;
|
||||
;--------------------------------------------------------------------------
|
||||
|
||||
segment TEXT
|
||||
segment SEG_TEXT
|
||||
|
||||
ALIGN 32
|
||||
|
||||
@@ -327,7 +327,7 @@ endp
|
||||
;
|
||||
;--------------------------------------------------------------------------
|
||||
|
||||
segment TEXT
|
||||
segment SEG_TEXT
|
||||
|
||||
ALIGN 32
|
||||
|
||||
@@ -518,7 +518,7 @@ endp
|
||||
|
||||
|
||||
|
||||
;segment TEXT
|
||||
;segment SEG_TEXT
|
||||
|
||||
ALIGN 32
|
||||
|
||||
|
||||
@@ -200,11 +200,11 @@ extrn halStore32, 8
|
||||
|
||||
%ENDMACRO ; WRITE_MM1LOW_FIFO
|
||||
|
||||
segment DATA
|
||||
segment SEG_DATA
|
||||
One DD 1.0
|
||||
Area DD 0
|
||||
|
||||
segment CONST
|
||||
segment SEG_CONST
|
||||
$T2003 DD 12288.0
|
||||
$T2005 DD 1.0
|
||||
$T2006 DD 256.0
|
||||
@@ -244,7 +244,7 @@ Y equ 4
|
||||
|
||||
;--------------------------------------------------------------------------
|
||||
|
||||
segment TEXT
|
||||
segment SEG_TEXT
|
||||
|
||||
ALIGN 32
|
||||
PROC_TYPE clip_nocull_invalid
|
||||
|
||||
@@ -33,11 +33,11 @@ extrn _grCommandTransportMakeRoom, 12
|
||||
;;; include listing.inc
|
||||
%INCLUDE "fxgasm.h"
|
||||
|
||||
segment CONST
|
||||
segment SEG_CONST
|
||||
ALIGN 8
|
||||
_F256_F256 DD 256.0, 256.0
|
||||
|
||||
segment DATA
|
||||
segment SEG_DATA
|
||||
ALIGN 8
|
||||
btab DD 0, 0, 0, 0, 0, 0, 0, 0
|
||||
atab DD 0, 0, 0, 0, 0, 0, 0, 0
|
||||
@@ -46,7 +46,7 @@ strideinbytes DD 0
|
||||
vertices DD 0
|
||||
|
||||
|
||||
segment TEXT
|
||||
segment SEG_TEXT
|
||||
|
||||
ALIGN 32
|
||||
proc _grDrawTriangles_3DNow, 12
|
||||
@@ -2193,11 +2193,11 @@ endp
|
||||
;;; include listing.inc
|
||||
%INCLUDE "fxgasm.h"
|
||||
|
||||
segment CONST
|
||||
segment SEG_CONST
|
||||
ALIGN 8
|
||||
_F256_F256 DD 43800000h, 43800000h ; 256 | 256
|
||||
|
||||
segment DATA
|
||||
segment SEG_DATA
|
||||
ALIGN 8
|
||||
btab DD 0, 0, 0, 0, 0, 0, 0, 0
|
||||
atab DD 0, 0, 0, 0, 0, 0, 0, 0
|
||||
@@ -2206,7 +2206,7 @@ strideinbytes DD 0
|
||||
vertices DD 0
|
||||
|
||||
|
||||
segment TEXT
|
||||
segment SEG_TEXT
|
||||
|
||||
ALIGN 32
|
||||
proc _grDrawTriangles_SSE, 12
|
||||
@@ -4393,14 +4393,14 @@ endp
|
||||
;;; include listing.inc
|
||||
%INCLUDE "fxgasm.h"
|
||||
|
||||
segment CONST
|
||||
segment SEG_CONST
|
||||
_F1 DD 1.0
|
||||
_F256 DD 256.0
|
||||
|
||||
_VPF1 DD 1.0
|
||||
_VPF256 DD 256.0
|
||||
|
||||
segment DATA
|
||||
segment SEG_DATA
|
||||
vSize DD 0
|
||||
ccoow DD 0
|
||||
packetVal DD 0
|
||||
@@ -4412,7 +4412,7 @@ vPtr0 DD 0
|
||||
vPtr1 DD 0
|
||||
vPtr2 DD 0
|
||||
|
||||
segment TEXT
|
||||
segment SEG_TEXT
|
||||
|
||||
_pktype equ 20
|
||||
_type equ 24
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
|
||||
extrn _GlideRoot
|
||||
|
||||
segment TEXT
|
||||
segment SEG_TEXT
|
||||
|
||||
align 4
|
||||
proc grDrawTriangle, 12
|
||||
|
||||
@@ -103,9 +103,9 @@
|
||||
;---------------------------------------
|
||||
%if XOS == XOS_WIN32
|
||||
|
||||
%define TEXT .text align=32
|
||||
%define DATA .data align=32
|
||||
%define CONST .rdata align=32
|
||||
%define SEG_TEXT .text align=32
|
||||
%define SEG_DATA .data align=32
|
||||
%define SEG_CONST .rdata align=32
|
||||
|
||||
%if USE_STANDARD_TLS_FUNC == 1
|
||||
|
||||
@@ -145,9 +145,9 @@ extrn getThreadValue
|
||||
;---------------------------------------
|
||||
%if XOS == XOS_DJGPP
|
||||
|
||||
%define TEXT .text
|
||||
%define DATA .data
|
||||
%define CONST .rodata
|
||||
%define SEG_TEXT .text
|
||||
%define SEG_DATA .data
|
||||
%define SEG_CONST .rodata
|
||||
|
||||
extrn threadValueDJGPP
|
||||
|
||||
@@ -168,9 +168,9 @@ extrn threadValueDJGPP
|
||||
;---------------------------------------
|
||||
%if XOS == XOS_LINUX
|
||||
|
||||
%define TEXT .text align=32
|
||||
%define DATA .data align=32
|
||||
%define CONST .rodata align=32
|
||||
%define SEG_TEXT .text align=32
|
||||
%define SEG_DATA .data align=32
|
||||
%define SEG_CONST .rodata align=32
|
||||
|
||||
extrn threadValueLinux
|
||||
|
||||
@@ -191,9 +191,9 @@ extrn threadValueLinux
|
||||
;---------------------------------------
|
||||
%if XOS == XOS_WATCD
|
||||
|
||||
%define TEXT _TEXT align=1 public use32 class=CODE FLAT
|
||||
%define DATA _DATA align=4 public use32 class=DATA FLAT
|
||||
%define CONST CONST2 align=4 public use32 class=DATA FLAT
|
||||
%define SEG_TEXT _TEXT align=1 public use32 class=CODE FLAT
|
||||
%define SEG_DATA _DATA align=4 public use32 class=DATA FLAT
|
||||
%define SEG_CONST CONST2 align=4 public use32 class=DATA FLAT
|
||||
|
||||
extrn threadValueDJGPP
|
||||
|
||||
|
||||
@@ -114,7 +114,7 @@ _texData$ equ 24 + STACKOFFSET
|
||||
;
|
||||
;--------------------------------------------------------------------------
|
||||
|
||||
segment TEXT
|
||||
segment SEG_TEXT
|
||||
|
||||
ALIGN 32
|
||||
|
||||
@@ -327,7 +327,7 @@ endp
|
||||
;
|
||||
;--------------------------------------------------------------------------
|
||||
|
||||
segment TEXT
|
||||
segment SEG_TEXT
|
||||
|
||||
ALIGN 32
|
||||
|
||||
@@ -518,7 +518,7 @@ endp
|
||||
|
||||
|
||||
|
||||
;segment TEXT
|
||||
;segment SEG_TEXT
|
||||
|
||||
ALIGN 32
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ CPUTypeP6 equ 6h
|
||||
|
||||
;;; References to external data:
|
||||
|
||||
segment TEXT
|
||||
segment SEG_TEXT
|
||||
;;
|
||||
;; _cpu_detect_asm - detect the type of CPU
|
||||
;;
|
||||
|
||||
@@ -65,7 +65,7 @@ extrn _trisetup, 12
|
||||
%define fsubs fsub DWORD
|
||||
%define fmuls fmul DWORD
|
||||
|
||||
segment DATA
|
||||
segment SEG_DATA
|
||||
One DD 1.0
|
||||
Area DD 0
|
||||
dxAB DD 0
|
||||
@@ -81,7 +81,7 @@ segment DATA
|
||||
snap_xc DD 0
|
||||
snap_yc DD 0
|
||||
|
||||
segment CONST
|
||||
segment SEG_CONST
|
||||
SNAP_BIAS DD 786432.0
|
||||
|
||||
; Ugly, but seems to workaround the problem with locally defined
|
||||
@@ -240,7 +240,7 @@ Y equ 4
|
||||
%define i edx ; i = dlp->i
|
||||
%define tmpy ebp ; temp Y storage
|
||||
|
||||
segment TEXT
|
||||
segment SEG_TEXT
|
||||
|
||||
;--------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -50,14 +50,13 @@ extrn _grValidateState
|
||||
extrn _grVpDrawTriangle, 12
|
||||
extrn _trisetup, 12
|
||||
|
||||
|
||||
; some useful floating load and store macros <ala gmt>
|
||||
%define flds fld DWORD
|
||||
%define fadds fadd DWORD
|
||||
%define fsubs fsub DWORD
|
||||
%define fmuls fmul DWORD
|
||||
|
||||
segment DATA
|
||||
segment SEG_DATA
|
||||
One DD 1.0
|
||||
Area DD 0
|
||||
dxAB DD 0
|
||||
@@ -73,7 +72,7 @@ segment DATA
|
||||
snap_xc DD 0
|
||||
snap_yc DD 0
|
||||
|
||||
segment CONST
|
||||
segment SEG_CONST
|
||||
SNAP_BIAS DD 786432.0
|
||||
|
||||
; Ugly, but seems to workaround the problem with locally defined
|
||||
@@ -205,7 +204,7 @@ Y equ 4
|
||||
%define i edx ; i = dlp->i
|
||||
%define tmpy ebp ; temp Y storage
|
||||
|
||||
segment TEXT
|
||||
segment SEG_TEXT
|
||||
|
||||
;--------------------------------------------------------------------------
|
||||
|
||||
@@ -601,7 +600,6 @@ no_padding0:
|
||||
mov eax, 1h ; return 1 (triangle drawn)
|
||||
ret
|
||||
|
||||
|
||||
align 4
|
||||
zero_area:
|
||||
backfaced:
|
||||
|
||||
@@ -102,9 +102,9 @@
|
||||
;---------------------------------------
|
||||
%if XOS == XOS_WIN32
|
||||
|
||||
%define TEXT .text align=32
|
||||
%define DATA .data align=32
|
||||
%define CONST .rdata align=32
|
||||
%define SEG_TEXT .text align=32
|
||||
%define SEG_DATA .data align=32
|
||||
%define SEG_CONST .rdata align=32
|
||||
|
||||
%macro GET_GC 0
|
||||
mov gc, [_GlideRoot + curGC]
|
||||
@@ -117,9 +117,9 @@
|
||||
;---------------------------------------
|
||||
%if XOS == XOS_DJGPP
|
||||
|
||||
%define TEXT .text
|
||||
%define DATA .data
|
||||
%define CONST .rodata
|
||||
%define SEG_TEXT .text
|
||||
%define SEG_DATA .data
|
||||
%define SEG_CONST .rodata
|
||||
|
||||
%macro GET_GC 0
|
||||
mov gc, [_GlideRoot + curGC]
|
||||
@@ -132,9 +132,9 @@
|
||||
;---------------------------------------
|
||||
%if XOS == XOS_LINUX
|
||||
|
||||
%define TEXT .text align=32
|
||||
%define DATA .data align=32
|
||||
%define CONST .rodata align=32
|
||||
%define SEG_TEXT .text align=32
|
||||
%define SEG_DATA .data align=32
|
||||
%define SEG_CONST .rodata align=32
|
||||
|
||||
%macro GET_GC 0
|
||||
mov gc, [_GlideRoot + curGC]
|
||||
@@ -147,9 +147,9 @@
|
||||
;---------------------------------------
|
||||
%if XOS == XOS_WATCD
|
||||
|
||||
%define TEXT _TEXT align=1 public use32 class=CODE FLAT
|
||||
%define DATA _DATA align=4 public use32 class=DATA FLAT
|
||||
%define CONST CONST2 align=4 public use32 class=DATA FLAT
|
||||
%define SEG_TEXT _TEXT align=1 public use32 class=CODE FLAT
|
||||
%define SEG_DATA _DATA align=4 public use32 class=DATA FLAT
|
||||
%define SEG_CONST CONST2 align=4 public use32 class=DATA FLAT
|
||||
|
||||
%macro GET_GC 0
|
||||
mov gc, [_GlideRoot + curGC]
|
||||
|
||||
Reference in New Issue
Block a user