Commit f65f79e2 authored by Арсений Минин's avatar Арсений Минин
Browse files

Upload lib.inc

parent 5ca4f9de
;Константы
%define EXIT 60 ; код выхода
%define SYS_WRITE 1 ; системный вызов для записи
%define SYS_READ 0 ; системный вызов для чтения
%define STD_OUT 1 ; дескриптор стандартного вывода
%define NEWLINE_CHAR 0xA ; символ новой строки (LF)
%define SPACE_CHAR ' ' ; пробел
%define TAB_CHAR 0x9 ; символ табуляции
%define ZERO_CHAR '0' ; символ '0'
%define NINE_CHAR '9' ; символ '9'
%define MINUS_CHAR '-' ; символ минус
%macro clear_registers 1-*
%rep %0
xor %1[%repidx], %1[%repidx]
%endrep
%endmacro
%macro save_registers 1-*
%rep %0
push %1 ; Сохраняем регистр на стек
%rotate 1 ; Переходим к следующему аргументу
%endrep
%endmacro
%macro clear_stack 1-*
%rep %0
%rotate -1
pop %1
%endrep
%endmacro
extern exit
extern string_length
extern print_string
extern print_error
extern print_newline
extern print_char
extern print_int
extern print_uint
extern string_equals
extern read_char
extern read_word
extern read_string
extern parse_uint
extern parse_int
extern string_copy
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment