-
Notifications
You must be signed in to change notification settings - Fork 762
/
macros.tex
executable file
·121 lines (109 loc) · 4.1 KB
/
macros.tex
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
\newcommand{\TT}[1]{\texttt{#1}}
\newcommand{\IT}[1]{\textit{#1}}
\newcommand{\IFRU}[2]{\iflanguage{russian}{#1}{#2}}
\newcommand{\IDA}{IDA~\ref{IDA}\xspace}
\newcommand{\Task}{\IFRU{Задача}{Task}\xspace}
\newcommand{\Tchar}{\IT{char}\xspace}
\newcommand{\Tint}{\IT{int}\xspace}
\newcommand{\Tbool}{\IT{bool}\xspace}
\newcommand{\Tfloat}{\IT{float}\xspace}
\newcommand{\Tdouble}{\IT{double}\xspace}
\newcommand{\CCpp}{\IFRU{Си/Си++}{C/C++}\xspace}
\newcommand{\Ox}{\TT{/Ox}\xspace}
% common C functions
\newcommand{\printf}{\TT{printf()}\xspace}
\newcommand{\main}{\TT{main()}\xspace}
\newcommand{\qsort}{\TT{qsort()}\xspace}
\newcommand{\strlen}{\TT{strlen()}\xspace}
\newcommand{\scanf}{\TT{scanf()}\xspace}
\newcommand{\rand}{\TT{rand()}\xspace}
% instructions
\newcommand{\ADD}{\TT{ADD}\xspace}
\newcommand{\AND}{\TT{AND}\xspace}
\newcommand{\CALL}{\TT{CALL}\xspace}
\newcommand{\CPUID}{\TT{CPUID}\xspace}
\newcommand{\CMP}{\TT{CMP}\xspace}
\newcommand{\DEC}{\TT{DEC}\xspace}
\newcommand{\FADDP}{\TT{FADDP}\xspace}
\newcommand{\FCOM}{\TT{FCOM}\xspace}
\newcommand{\FCOMP}{\TT{FCOMP}\xspace}
\newcommand{\FCOMI}{\TT{FCOMI}\xspace}
\newcommand{\FCOMIP}{\TT{FCOMIP}\xspace}
\newcommand{\FUCOM}{\TT{FUCOM}\xspace}
\newcommand{\FUCOMI}{\TT{FUCOMI}\xspace}
\newcommand{\FUCOMIP}{\TT{FUCOMIP}\xspace}
\newcommand{\FUCOMPP}{\TT{FUCOMPP}\xspace}
\newcommand{\FDIVR}{\TT{FDIVR}\xspace}
\newcommand{\FDIV}{\TT{FDIV}\xspace}
\newcommand{\FLD}{\TT{FLD}\xspace}
\newcommand{\FMUL}{\TT{FMUL}\xspace}
\newcommand{\FSTP}{\TT{FSTP}\xspace}
\newcommand{\FDIVP}{\TT{FDIVP}\xspace}
\newcommand{\IDIV}{\TT{IDIV}\xspace}
\newcommand{\IMUL}{\TT{IMUL}\xspace}
\newcommand{\INC}{\TT{INC}\xspace}
\newcommand{\JAE}{\TT{JAE}\xspace}
\newcommand{\JA}{\TT{JA}\xspace}
\newcommand{\JBE}{\TT{JBE}\xspace}
\newcommand{\JB}{\TT{JBE}\xspace}
\newcommand{\JE}{\TT{JE}\xspace}
\newcommand{\JGE}{\TT{JGE}\xspace}
\newcommand{\JG}{\TT{JG}\xspace}
\newcommand{\JLE}{\TT{JLE}\xspace}
\newcommand{\JL}{\TT{JL}\xspace}
\newcommand{\JMP}{\TT{JMP}\xspace}
\newcommand{\JNE}{\TT{JNE}\xspace}
\newcommand{\JNZ}{\TT{JNZ}\xspace}
\newcommand{\JNA}{\TT{JNA}\xspace}
\newcommand{\JNAE}{\TT{JNAE}\xspace}
\newcommand{\JNB}{\TT{JNB}\xspace}
\newcommand{\JNBE}{\TT{JNBE}\xspace}
\newcommand{\JZ}{\TT{JZ}\xspace}
\newcommand{\JP}{\TT{JP}\xspace}
\newcommand{\Jcc}{\TT{Jcc}\xspace}
\newcommand{\SETcc}{\TT{SETcc}\xspace}
\newcommand{\LEA}{\TT{LEA}\xspace}
\newcommand{\LOOP}{\TT{LOOP}\xspace}
\newcommand{\MOVSX}{\TT{MOVSX}~\ref{MOVSX}\xspace}
\newcommand{\MOVZX}{\TT{MOVZX}\xspace}
\newcommand{\MOV}{\TT{MOV}\xspace}
\newcommand{\NOP}{\TT{NOP}\xspace}
\newcommand{\POP}{\TT{POP}\xspace}
\newcommand{\PUSH}{\TT{PUSH}\xspace}
\newcommand{\NOT}{\TT{NOT}\xspace}
\newcommand{\RET}{\TT{RET}\xspace}
\newcommand{\SETNZ}{\TT{SETNZ}\xspace}
\newcommand{\SETBE}{\TT{SETBE}\xspace}
\newcommand{\SETNBE}{\TT{SETNBE}\xspace}
\newcommand{\SUB}{\TT{SUB}\xspace}
\newcommand{\TEST}{\TT{TEST}\xspace}
\newcommand{\FNSTSW}{\TT{FNSTSW}\xspace}
\newcommand{\SAHF}{\TT{SAHF}\xspace}
\newcommand{\XOR}{\TT{XOR}\xspace}
\newcommand{\OR}{\TT{OR}\xspace}
\newcommand{\LEAVE}{\TT{LEAVE}\xspace}
\newcommand{\MOVDQA}{\TT{MOVDQA}\xspace}
\newcommand{\MOVDQU}{\TT{MOVDQU}\xspace}
\newcommand{\PADDD}{\TT{PADDD}\xspace}
\newcommand{\PCMPEQB}{\TT{PCMPEQB}\xspace}
% flags
\newcommand{\ZF}{\TT{ZF}\xspace}
\newcommand{\CF}{\TT{CF}\xspace}
\newcommand{\PF}{\TT{PF}\xspace}
% registers
\newcommand{\AL}{\TT{AL}\xspace}
\newcommand{\AH}{\TT{AH}\xspace}
\newcommand{\AX}{\TT{AX}\xspace}
\newcommand{\EAX}{\TT{EAX}\xspace}
\newcommand{\EBX}{\TT{EBX}\xspace}
\newcommand{\ECX}{\TT{ECX}\xspace}
\newcommand{\EDX}{\TT{EDX}\xspace}
\newcommand{\DL}{\TT{DL}\xspace}
\newcommand{\ESI}{\TT{ESI}\xspace}
\newcommand{\EDI}{\TT{EDI}\xspace}
\newcommand{\STZERO}{\TT{ST(0)}\xspace}
\newcommand{\STONE}{\TT{ST(1)}\xspace}
\newcommand{\EBP}{\TT{EBP}\xspace}
\newcommand{\ESP}{\TT{ESP}\xspace}
\newcommand{\XMMONE}{\TT{XMM1}\xspace}
\newcommand{\XMMZERO}{\TT{XMM0}\xspace}