Commit 8fcfad48 authored by Igor Zhirkov's avatar Igor Zhirkov
Browse files

Update lib.inc

parent 4bd2dc83
section .text
; Принимает код возврата и завершает текущий процесс
exit:
xor rax, rax,
ret
; Принимает указатель на нуль-терминированную строку, возвращает её длину
string_length:
xor rax, rax
ret
; Принимает указатель на нуль-терминированную строку, выводит её в stdout
print_string:
xor rax, rax
ret
; Принимает код символа и выводит его в stdout
print_char:
xor rax, rax
ret
; Переводит строку (выводит символ с кодом 0xA)
print_newline:
xor rax, rax
ret
; Выводит беззнаковое 8-байтовое число в десятичном формате
; Совет: выделите место в стеке и храните там результаты деления
; Не забудьте перевести цифры в их ASCII коды.
print_uint:
xor rax, rax
ret
; Выводит знаковое 8-байтовое число в десятичном формате
print_int:
xor rax, rax
ret
; Принимает два указателя на нуль-терминированные строки, возвращает 1 если они равны, 0 иначе
string_equals:
xor rax, rax
ret
; Читает один символ из stdin и возвращает его. Возвращает 0 если достигнут конец потока
read_char:
xor rax, rax
ret
; Принимает: адрес начала буфера, размер буфера
; Читает в буфер слово из stdin, пропуская пробельные символы в начале, .
; Пробельные символы это пробел 0x20, табуляция 0x9 и перевод строки 0x10.
; Останавливается и возвращает 0 если слово слишком большое для буфера
; При успехе возвращает адрес буфера.
; Эта функция должна дописывать к слову нуль-терминатор
read_word:
ret
; rdi points to a string
; returns rax: number, rdx : length
; Принимает указатель на строку, пытается
; прочитать из её начала беззнаковое число.
; Возвращает в rax: число, rdx : его длину в символах
; rdx = 0 если число прочитать не удалось
parse_uint:
xor rax, rax
ret
; rdi points to a string
; returns rax: number, rdx : length
; Принимает указатель на строку, пытается
; прочитать из её начала знаковое число.
; Если есть знак, пробелы между ним и числом не разрешены.
; Возвращает в rax: число, rdx : его длину в символах (включая знак, если он был)
; rdx = 0 если число прочитать не удалось
parse_int:
xor rax, rax
ret
; Принимает указатель на строку, указатель на буфер и длину буфера
; Копирует строку в буфер
; Возвращает длину строки если она умещается в буфер, иначе 0
string_copy:
xor rax, rax
ret
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