Skip to content

Commit 088137e

Browse files
committed
tabs upd
1 parent 45cae0b commit 088137e

File tree

1 file changed

+30
-30
lines changed

1 file changed

+30
-30
lines changed

lib.asm

+30-30
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ section .text
44
; Принимает код возврата и завершает текущий процесс
55

66
exit:
7-
mov rax, 60 ; 'exit' syscall number
7+
mov rax, 60 ; 'exit' syscall number
88
syscall
9-
ret
9+
ret
1010

1111
; Принимает указатель на нуль-терминированную строку, возвращает её длину
1212

1313
string_length:
14-
xor rax, rax
14+
xor rax, rax
1515
.main_loop:
1616
cmp byte[rdi + rax], 0
1717
je .end
@@ -25,7 +25,7 @@ string_length:
2525
print_string:
2626
call string_length
2727
mov rsi, rdi
28-
mov rdx, rax
28+
mov rdx, rax
2929
mov rax, 1 ; 'write' syscall number
3030
mov rdi, 1 ; stdout descriptor
3131
syscall
@@ -34,65 +34,65 @@ print_string:
3434
; Принимает код символа и выводит его в stdout
3535

3636
print_char:
37-
xor rax, rax
37+
xor rax, rax
3838
push rdi
3939
mov rsi, rsp
4040
pop rax
4141
mov rdx, 1
4242
mov rax, 1 ; 'write' syscall number
4343
mov rdi, 1 ; stdout descriptor
4444
syscall
45-
ret
45+
ret
4646

4747
; Переводит строку (выводит символ с кодом 0xA)
4848

4949
print_newline:
5050
mov rdi, 0xA
5151
call print_char
52-
ret
52+
ret
5353

5454
; Выводит беззнаковое 8-байтовое число в десятичном формате
5555
; Совет: выделите место в стеке и храните там результаты деления
5656
; Не забудьте перевести цифры в их ASCII коды.
5757

5858
print_uint:
5959
xor rcx, rcx
60-
xor rdx, rdx
60+
xor rdx, rdx
6161
mov rbx, 10 ; divider to get digits
62-
mov rax, rdi
62+
mov rax, rdi
6363
.stack_filling:
64-
xor rdx, rdx
65-
div rbx ; next digit
66-
add rdx, '0' ; offset to save ascii-code
67-
push rdx
68-
inc rcx
69-
test rax, rax ; loop while rax has content
70-
jnz .stack_filling
64+
xor rdx, rdx
65+
div rbx ; next digit
66+
add rdx, '0' ; offset to save ascii-code
67+
push rdx
68+
inc rcx
69+
test rax, rax ; loop while rax has content
70+
jnz .stack_filling
7171
.print_from_stack:
72-
pop rdx
73-
mov rdi, rdx
74-
push rcx ; save reg value before calling
75-
call print_char
76-
pop rcx
77-
dec rcx
78-
test rcx, rcx ; loop while rcx > 0
79-
jnz .print_from_stack
72+
pop rdx
73+
mov rdi, rdx
74+
push rcx ; save reg value before calling
75+
call print_char
76+
pop rcx
77+
dec rcx
78+
test rcx, rcx ; loop while rcx > 0
79+
jnz .print_from_stack
8080
xor rbx, rbx ; respect convention :)
81-
ret
81+
ret
8282

8383
; Выводит знаковое 8-байтовое число в десятичном формате
8484

8585
print_int:
8686
or rdi, rdi ; set flags
8787
jns .end ; if number is positive just print it!
8888
push rdi ; else add '-'
89-
mov rdi, '-'
90-
call print_char
91-
pop rdi
92-
neg rdi
89+
mov rdi, '-'
90+
call print_char
91+
pop rdi
92+
neg rdi
9393
.end:
9494
jmp print_uint
95-
ret
95+
ret
9696

9797
; Принимает два указателя на нуль-терминированные строки, возвращает 1 если они равны, 0 иначе
9898

0 commit comments

Comments
 (0)