19 |
; * along with this program ; if not, write to the Free Software |
; * along with this program ; if not, write to the Free Software |
20 |
; * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
; * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
21 |
; * |
; * |
22 |
; * $Id: nasm.inc,v 1.1 2008-11-26 01:04:34 Isibaar Exp $ |
; * $Id: nasm.inc,v 1.4 2008-12-04 14:41:50 Isibaar Exp $ |
23 |
; * |
; * |
24 |
; ***************************************************************************/ |
; ***************************************************************************/ |
25 |
|
|
50 |
%define prm7d dword prm7 |
%define prm7d dword prm7 |
51 |
%define prm8d dword prm8 |
%define prm8d dword prm8 |
52 |
|
|
53 |
|
%macro PUSH_XMM6_XMM7 0 |
54 |
|
movdqa [_ESP+PTR_SIZE], xmm6 |
55 |
|
movdqa [_ESP+PTR_SIZE+16], xmm7 |
56 |
|
%endmacro |
57 |
|
|
58 |
|
%macro POP_XMM6_XMM7 0 |
59 |
|
movdqa xmm6, [_ESP+PTR_SIZE] |
60 |
|
movdqa xmm7, [_ESP+PTR_SIZE+16] |
61 |
|
%endmacro |
62 |
|
|
63 |
%else ; Linux |
%else ; Linux |
64 |
|
|
65 |
%define prm1 rdi |
%define prm1 rdi |
80 |
%define prm7d dword prm7 |
%define prm7d dword prm7 |
81 |
%define prm8d dword prm8 |
%define prm8d dword prm8 |
82 |
|
|
83 |
|
%define PUSH_XMM6_XMM7 |
84 |
|
%define POP_XMM6_XMM7 |
85 |
|
|
86 |
%endif |
%endif |
87 |
|
|
88 |
%define _EAX rax |
%define _EAX rax |
103 |
%define PTR_SIZE 8 |
%define PTR_SIZE 8 |
104 |
%define PTR_TYPE qword |
%define PTR_TYPE qword |
105 |
|
|
106 |
|
%ifdef __YASM_VERSION_ID__ |
107 |
|
%define XVID_MOVSX movsxd |
108 |
|
%else |
109 |
|
%define XVID_MOVSX movsx |
110 |
|
%endif |
111 |
|
|
112 |
%else |
%else |
113 |
|
|
114 |
%define SECTION_ALIGN 16 |
%define SECTION_ALIGN 16 |
151 |
%define PTR_SIZE 4 |
%define PTR_SIZE 4 |
152 |
%define PTR_TYPE dword |
%define PTR_TYPE dword |
153 |
|
|
154 |
|
%define PUSH_XMM6_XMM7 |
155 |
|
%define POP_XMM6_XMM7 |
156 |
|
|
157 |
|
%define XVID_MOVSX movsx |
158 |
|
|
159 |
%endif |
%endif |
160 |
|
|
161 |
|
|
163 |
%define PREFIX |
%define PREFIX |
164 |
%endif |
%endif |
165 |
|
|
166 |
|
%ifdef NO_PREFIX |
167 |
|
%undef PREFIX |
168 |
|
%endif |
169 |
|
|
170 |
%macro DATA 0 |
%macro DATA 0 |
171 |
%ifdef FORMAT_COFF |
%ifdef FORMAT_COFF |
172 |
SECTION .rodata |
SECTION .rodata |
175 |
%endif |
%endif |
176 |
%endmacro |
%endmacro |
177 |
|
|
178 |
|
%macro TEXT 0 |
179 |
|
SECTION .rotext align=SECTION_ALIGN |
180 |
|
%endmacro |
181 |
|
|
182 |
%macro cglobal 1 |
%macro cglobal 1 |
183 |
%ifdef PREFIX |
%ifdef PREFIX |
184 |
%ifdef MARK_FUNCS |
%ifdef MARK_FUNCS |