1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
|
; macros.h
;
; some nasm macros that simplify the coding.
;
; Copyright (C) 2000, Suzhe. See file COPYING and CREDITS for details.
;
%ifndef DEFINE_MACROS
%define DEFINE_MACROS
%macro retz 0
jnz %%skip
ret
%%skip:
%endmacro
%define jmpz jz near
%define jmpnz jnz near
%define jmpe je near
%define jmpne jne near
%define jmpc jc near
%define jmpnc jnc near
%define jmpa ja near
%define jmpna jna near
%define jmpb jb near
%define jmpnb jnb near
%if 0
%macro jmpz 1
jnz %%skip
jmp %1
%%skip:
%endmacro
%macro jmpnz 1
jz %%skip
jmp %1
%%skip:
%endmacro
%macro jmpe 1
jne %%skip
jmp %1
%%skip:
%endmacro
%macro jmpne 1
je %%skip
jmp %1
%%skip:
%endmacro
%macro jmpc 1
jnc %%skip
jmp %1
%%skip:
%endmacro
%macro jmpnc 1
jc %%skip
jmp %1
%%skip:
%endmacro
%macro jmpb 1
jnb %%skip
jmp %1
%%skip:
%endmacro
%macro jmpnb 1
jb %%skip
jmp %1
%%skip:
%endmacro
%endif
%endif
|