%macro get_arg 0 add esi, 4 mov edi, [esi] %endmacro %macro write_value 0 mov edx, eax ; count mov eax, 4 ; syscall write mov ebx, [f_discr] mov ecx, buffer int 80h %endmacro %macro new_line 0 mov eax, 4 mov ebx, [f_discr] mov ecx, nlstr mov edx, 1 int 80h %endmacro %macro vertical 0 mov eax, 4 mov ebx, [f_discr] mov ecx, vert_sep mov edx, 3 int 80h %endmacro %macro border 0 mov eax, 4 mov ebx, [f_discr] mov ecx, some_spaces mov edx, 2 int 80h mov eax, 4 mov ebx, [f_discr] mov ecx, border_sep mov edx, 53 int 80h mov eax, 4 mov ebx, [f_discr] mov ecx, some_spaces mov edx, 2 int 80h %endmacro %macro horizontal 0 mov eax, 4 mov ebx, [f_discr] mov ecx, beg_sep mov edx, 2 int 80h mov eax, 4 mov ebx, [f_discr] mov ecx, hor_sep mov edx, hor_length int 80h mov eax, 4 mov ebx, [f_discr] mov ecx, end_sep mov edx, 2 int 80h %endmacro %macro placeholder 0 mov eax, 4 mov ebx, [f_discr] mov ecx, some_spaces int 80h %endmacro %macro undefined 0 mov eax, 4 mov ebx, [f_discr] mov ecx, undef_value mov edx, 1 int 80h %endmacro