50 |
%define prm7d dword prm7 |
%define prm7d dword prm7 |
51 |
%define prm8d dword prm8 |
%define prm8d dword prm8 |
52 |
|
|
|
%macro PUSH_XMM6_XMM7 0 |
|
|
movdqa [_ESP+PTR_SIZE], xmm6 |
|
|
movdqa [_ESP+PTR_SIZE+16], xmm7 |
|
|
%endmacro |
|
|
|
|
|
%macro POP_XMM6_XMM7 0 |
|
|
movdqa xmm6, [_ESP+PTR_SIZE] |
|
|
movdqa xmm7, [_ESP+PTR_SIZE+16] |
|
|
%endmacro |
|
|
|
|
53 |
%else ; Linux |
%else ; Linux |
54 |
|
|
55 |
%define prm1 rdi |
%define prm1 rdi |
70 |
%define prm7d dword prm7 |
%define prm7d dword prm7 |
71 |
%define prm8d dword prm8 |
%define prm8d dword prm8 |
72 |
|
|
|
%define PUSH_XMM6_XMM7 |
|
|
%define POP_XMM6_XMM7 |
|
|
|
|
73 |
%endif |
%endif |
74 |
|
|
75 |
%define _EAX rax |
%define _EAX rax |
90 |
%define PTR_SIZE 8 |
%define PTR_SIZE 8 |
91 |
%define PTR_TYPE qword |
%define PTR_TYPE qword |
92 |
|
|
|
%ifdef __YASM_VERSION_ID__ |
|
|
%define XVID_MOVSXD movsxd |
|
|
%else |
|
|
%define XVID_MOVSXD movsx |
|
|
%endif |
|
|
|
|
93 |
%else |
%else |
94 |
|
|
95 |
%define SECTION_ALIGN 16 |
%define SECTION_ALIGN 16 |
132 |
%define PTR_SIZE 4 |
%define PTR_SIZE 4 |
133 |
%define PTR_TYPE dword |
%define PTR_TYPE dword |
134 |
|
|
|
%define PUSH_XMM6_XMM7 |
|
|
%define POP_XMM6_XMM7 |
|
|
|
|
|
%define XVID_MOVSXD movsx |
|
135 |
%endif |
%endif |
136 |
|
|
137 |
|
|
151 |
%endif |
%endif |
152 |
%endmacro |
%endmacro |
153 |
|
|
|
%macro TEXT 0 |
|
|
%ifidn __OUTPUT_FORMAT__,macho |
|
|
SECTION .text align=SECTION_ALIGN |
|
|
%else |
|
|
SECTION .rotext align=SECTION_ALIGN |
|
|
%endif |
|
|
%endmacro |
|
|
|
|
154 |
%macro cglobal 1 |
%macro cglobal 1 |
155 |
%ifdef PREFIX |
%ifdef PREFIX |
156 |
%ifdef MARK_FUNCS |
%ifdef MARK_FUNCS |
172 |
%endif |
%endif |
173 |
%endif |
%endif |
174 |
%endmacro |
%endmacro |
|
|
|
|
%macro NON_EXEC_STACK 0 |
|
|
%ifidn __OUTPUT_FORMAT__,elf |
|
|
section .note.GNU-stack noalloc noexec nowrite progbits |
|
|
%endif |
|
|
%ifidn __OUTPUT_FORMAT__,elf64 |
|
|
section .note.GNU-stack noalloc noexec nowrite progbits |
|
|
%endif |
|
|
%endmacro |
|