blob: 773eaa6355d04ebc6d645b8457c650fa2b14c031 (
plain)
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
|
%ifndef DEBUG_INC
%define DEBUG_INC
%ifndef ZSTRING_INC
%include "zstring.inc"
%endif
%ifndef DTOS_INC
%include "dtos.inc"
%endif
%ifndef MONAD_INC
%include "monad.inc"
%endif
section .data
m_make debug_register
;; TODO: Make print without newline
%macro DEBUG_HERE 0-1 ""
section .data
make_zstring %%head, "Log: ", __?FILE?__,":"
make_zstring %%text, %1,10
section .text
lea rax, [rel %%head]
call print_zstring
mov rax, __?LINE?__
call data_to_zstring_md
mov rax, [rax]
call print_zstring
lea rax, [rel %%text]
call print_zstring
%endm
%macro REGD 0-2 rax,h
section .text
lea rax, [%1]
m_return rel m_debug_register
m_bind data_to_zstring_m%2
m_call print_zstring
%endm
%macro FLAGD 0-1 h
pushfq
pop rax
REGD rax, %1
%endm
%endif
|