File tree Expand file tree Collapse file tree 3 files changed +56
-27
lines changed Expand file tree Collapse file tree 3 files changed +56
-27
lines changed Original file line number Diff line number Diff line change @@ -174,6 +174,7 @@ main:
174174 push line(%rip )
175175 push %rax
176176 call write_string
177+ call write_newline
177178 pop %rax
178179 pop %rax
179180
Original file line number Diff line number Diff line change 33
44.include "../print_int/print_int.s"
55
6- print_char: # debugging
7- frame_enter
8- sys_enter
9- push %rax
10- push %rcx
11- push %rdx
12- push %rsi
13- push %rdi
14- mov 16 (%rbp ), %rax
15- movb $0x3e , -128 (%rbp )
16- movb %al , -127 (%rbp )
17- movb $0x3c , -126 (%rbp )
18- movb $0xa , -125 (%rbp )
19- lea -128 (%rbp ), %rsi
20- mov $WRITE, %rax
21- mov $STDOUT, %rdi
22- mov $4 , %rdx
23- syscall
24- pop %rdi
25- pop %rsi
26- pop %rdx
27- pop %rcx
28- pop %rax
29- sys_leave
30- frame_leave
31- ret
32-
336main:
347 mov $0x9084 , %rax
358 shl $16 , %rax
Original file line number Diff line number Diff line change 5252 .text
5353 .globl main
5454
55+ write_char_debug:
56+ frame_enter
57+ sys_enter
58+ push %rax
59+ push %rcx
60+ push %rdx
61+ push %rsi
62+ push %rdi
63+ mov 16 (%rbp ), %rax
64+ movb $0x3e , -128 (%rbp )
65+ movb %al , -127 (%rbp )
66+ movb $0x3c , -126 (%rbp )
67+ movb $0xa , -125 (%rbp )
68+ lea -128 (%rbp ), %rsi
69+ mov $WRITE, %rax
70+ mov $STDOUT, %rdi
71+ mov $4 , %rdx
72+ syscall
73+ pop %rdi
74+ pop %rsi
75+ pop %rdx
76+ pop %rcx
77+ pop %rax
78+ sys_leave
79+ frame_leave
80+ ret
81+
82+ write_char:
83+ enter
84+ push %rax
85+ push %rcx
86+ push %rdx
87+ push %rsi
88+ push %rdi
89+ mov 16 (%rbp ), %rax
90+ movb %al , -64 (%rbp )
91+ lea -64 (%rbp ), %rsi
92+ mov $WRITE, %rax
93+ mov $STDOUT, %rdi
94+ mov $1 , %rdx
95+ syscall
96+ pop %rdi
97+ pop %rsi
98+ pop %rdx
99+ pop %rcx
100+ pop %rax
101+ return
102+
103+ write_newline:
104+ mov %rsp , %rbp
105+ push $0xa
106+ call write_char
107+ mov %rbp , %rsp
108+ ret
109+
55110write_string:
56111 enter
57112 mov 24 (%rbp ), %rsi # param: address
You can’t perform that action at this time.
0 commit comments