305 lines
4.9 KiB
Plaintext
305 lines
4.9 KiB
Plaintext
[list -]
|
|
%if 0
|
|
|
|
Warn for near jumps
|
|
Public Domain by C. Masloch, 2018
|
|
|
|
%endif
|
|
|
|
%ifndef __JN_WARN_MAC__
|
|
%assign __JN_WARN_MAC__ 1
|
|
|
|
%imacro jz 1.nolist
|
|
%%start:
|
|
%? %1
|
|
%%end:
|
|
%assign %%length %%end - %%start
|
|
%if %%length > 2
|
|
%warning __FILE__ __LINE__ %? %1 %%length
|
|
%endif
|
|
%endmacro
|
|
%imacro jnz 1.nolist
|
|
%%start:
|
|
%? %1
|
|
%%end:
|
|
%assign %%length %%end - %%start
|
|
%if %%length > 2
|
|
%warning __FILE__ __LINE__ %? %1 %%length
|
|
%endif
|
|
%endmacro
|
|
%imacro je 1.nolist
|
|
%%start:
|
|
%? %1
|
|
%%end:
|
|
%assign %%length %%end - %%start
|
|
%if %%length > 2
|
|
%warning __FILE__ __LINE__ %? %1 %%length
|
|
%endif
|
|
%endmacro
|
|
%imacro jne 1.nolist
|
|
%%start:
|
|
%? %1
|
|
%%end:
|
|
%assign %%length %%end - %%start
|
|
%if %%length > 2
|
|
%warning __FILE__ __LINE__ %? %1 %%length
|
|
%endif
|
|
%endmacro
|
|
%imacro jc 1.nolist
|
|
%%start:
|
|
%? %1
|
|
%%end:
|
|
%assign %%length %%end - %%start
|
|
%if %%length > 2
|
|
%warning __FILE__ __LINE__ %? %1 %%length
|
|
%endif
|
|
%endmacro
|
|
%imacro jnc 1.nolist
|
|
%%start:
|
|
%? %1
|
|
%%end:
|
|
%assign %%length %%end - %%start
|
|
%if %%length > 2
|
|
%warning __FILE__ __LINE__ %? %1 %%length
|
|
%endif
|
|
%endmacro
|
|
%imacro jb 1.nolist
|
|
%%start:
|
|
%? %1
|
|
%%end:
|
|
%assign %%length %%end - %%start
|
|
%if %%length > 2
|
|
%warning __FILE__ __LINE__ %? %1 %%length
|
|
%endif
|
|
%endmacro
|
|
%imacro jnb 1.nolist
|
|
%%start:
|
|
%? %1
|
|
%%end:
|
|
%assign %%length %%end - %%start
|
|
%if %%length > 2
|
|
%warning __FILE__ __LINE__ %? %1 %%length
|
|
%endif
|
|
%endmacro
|
|
%imacro ja 1.nolist
|
|
%%start:
|
|
%? %1
|
|
%%end:
|
|
%assign %%length %%end - %%start
|
|
%if %%length > 2
|
|
%warning __FILE__ __LINE__ %? %1 %%length
|
|
%endif
|
|
%endmacro
|
|
%imacro jna 1.nolist
|
|
%%start:
|
|
%? %1
|
|
%%end:
|
|
%assign %%length %%end - %%start
|
|
%if %%length > 2
|
|
%warning __FILE__ __LINE__ %? %1 %%length
|
|
%endif
|
|
%endmacro
|
|
%imacro jae 1.nolist
|
|
%%start:
|
|
%? %1
|
|
%%end:
|
|
%assign %%length %%end - %%start
|
|
%if %%length > 2
|
|
%warning __FILE__ __LINE__ %? %1 %%length
|
|
%endif
|
|
%endmacro
|
|
%imacro jnae 1.nolist
|
|
%%start:
|
|
%? %1
|
|
%%end:
|
|
%assign %%length %%end - %%start
|
|
%if %%length > 2
|
|
%warning __FILE__ __LINE__ %? %1 %%length
|
|
%endif
|
|
%endmacro
|
|
%imacro jbe 1.nolist
|
|
%%start:
|
|
%? %1
|
|
%%end:
|
|
%assign %%length %%end - %%start
|
|
%if %%length > 2
|
|
%warning __FILE__ __LINE__ %? %1 %%length
|
|
%endif
|
|
%endmacro
|
|
%imacro jnbe 1.nolist
|
|
%%start:
|
|
%? %1
|
|
%%end:
|
|
%assign %%length %%end - %%start
|
|
%if %%length > 2
|
|
%warning __FILE__ __LINE__ %? %1 %%length
|
|
%endif
|
|
%endmacro
|
|
|
|
|
|
%imacro js 1.nolist
|
|
%%start:
|
|
%? %1
|
|
%%end:
|
|
%assign %%length %%end - %%start
|
|
%if %%length > 2
|
|
%warning __FILE__ __LINE__ %? %1 %%length
|
|
%endif
|
|
%endmacro
|
|
%imacro jns 1.nolist
|
|
%%start:
|
|
%? %1
|
|
%%end:
|
|
%assign %%length %%end - %%start
|
|
%if %%length > 2
|
|
%warning __FILE__ __LINE__ %? %1 %%length
|
|
%endif
|
|
%endmacro
|
|
|
|
%imacro jo 1.nolist
|
|
%%start:
|
|
%? %1
|
|
%%end:
|
|
%assign %%length %%end - %%start
|
|
%if %%length > 2
|
|
%warning __FILE__ __LINE__ %? %1 %%length
|
|
%endif
|
|
%endmacro
|
|
%imacro jno 1.nolist
|
|
%%start:
|
|
%? %1
|
|
%%end:
|
|
%assign %%length %%end - %%start
|
|
%if %%length > 2
|
|
%warning __FILE__ __LINE__ %? %1 %%length
|
|
%endif
|
|
%endmacro
|
|
|
|
%imacro jp 1.nolist
|
|
%%start:
|
|
%? %1
|
|
%%end:
|
|
%assign %%length %%end - %%start
|
|
%if %%length > 2
|
|
%warning __FILE__ __LINE__ %? %1 %%length
|
|
%endif
|
|
%endmacro
|
|
%imacro jnp 1.nolist
|
|
%%start:
|
|
%? %1
|
|
%%end:
|
|
%assign %%length %%end - %%start
|
|
%if %%length > 2
|
|
%warning __FILE__ __LINE__ %? %1 %%length
|
|
%endif
|
|
%endmacro
|
|
|
|
|
|
%imacro jl 1.nolist
|
|
%%start:
|
|
%? %1
|
|
%%end:
|
|
%assign %%length %%end - %%start
|
|
%if %%length > 2
|
|
%warning __FILE__ __LINE__ %? %1 %%length
|
|
%endif
|
|
%endmacro
|
|
%imacro jnl 1.nolist
|
|
%%start:
|
|
%? %1
|
|
%%end:
|
|
%assign %%length %%end - %%start
|
|
%if %%length > 2
|
|
%warning __FILE__ __LINE__ %? %1 %%length
|
|
%endif
|
|
%endmacro
|
|
%imacro jg 1.nolist
|
|
%%start:
|
|
%? %1
|
|
%%end:
|
|
%assign %%length %%end - %%start
|
|
%if %%length > 2
|
|
%warning __FILE__ __LINE__ %? %1 %%length
|
|
%endif
|
|
%endmacro
|
|
%imacro jng 1.nolist
|
|
%%start:
|
|
%? %1
|
|
%%end:
|
|
%assign %%length %%end - %%start
|
|
%if %%length > 2
|
|
%warning __FILE__ __LINE__ %? %1 %%length
|
|
%endif
|
|
%endmacro
|
|
%imacro jge 1.nolist
|
|
%%start:
|
|
%? %1
|
|
%%end:
|
|
%assign %%length %%end - %%start
|
|
%if %%length > 2
|
|
%warning __FILE__ __LINE__ %? %1 %%length
|
|
%endif
|
|
%endmacro
|
|
%imacro jnge 1.nolist
|
|
%%start:
|
|
%? %1
|
|
%%end:
|
|
%assign %%length %%end - %%start
|
|
%if %%length > 2
|
|
%warning __FILE__ __LINE__ %? %1 %%length
|
|
%endif
|
|
%endmacro
|
|
%imacro jle 1.nolist
|
|
%%start:
|
|
%? %1
|
|
%%end:
|
|
%assign %%length %%end - %%start
|
|
%if %%length > 2
|
|
%warning __FILE__ __LINE__ %? %1 %%length
|
|
%endif
|
|
%endmacro
|
|
%imacro jnle 1.nolist
|
|
%%start:
|
|
%? %1
|
|
%%end:
|
|
%assign %%length %%end - %%start
|
|
%if %%length > 2
|
|
%warning __FILE__ __LINE__ %? %1 %%length
|
|
%endif
|
|
%endmacro
|
|
|
|
|
|
%imacro jecxz 1.nolist
|
|
%%start:
|
|
%? %1
|
|
%%end:
|
|
%assign %%length %%end - %%start
|
|
%if %%length > 2
|
|
%warning __FILE__ __LINE__ %? %1 %%length
|
|
%endif
|
|
%endmacro
|
|
|
|
%imacro jcxz 1.nolist
|
|
%%start:
|
|
%? %1
|
|
%%end:
|
|
%assign %%length %%end - %%start
|
|
%if %%length > 2
|
|
%warning __FILE__ __LINE__ %? %1 %%length
|
|
%endif
|
|
%endmacro
|
|
|
|
|
|
%imacro jmp 1.nolist
|
|
%%start:
|
|
%? %1
|
|
%%end:
|
|
%assign %%length %%end - %%start
|
|
%if %%length > 2 && %%length < 5
|
|
%warning __FILE__ __LINE__ %? %1 %%length
|
|
%endif
|
|
%endmacro
|
|
|
|
%endif
|
|
[list +]
|