Bladeren bron

Optimisation & commenting

Yann Weber 5 jaren geleden
bovenliggende
commit
bd1319d18f
1 gewijzigde bestanden met toevoegingen van 13 en 21 verwijderingen
  1. 13
    21
      wtfstopw.asm

+ 13
- 21
wtfstopw.asm Bestand weergeven

95
 	add dl, 0x30
95
 	add dl, 0x30
96
 	mov byte [timestr + 5], dl
96
 	mov byte [timestr + 5], dl
97
 
97
 
98
-	pop rax
99
 	xor rdx, rdx
98
 	xor rdx, rdx
100
 	mov rcx, 6
99
 	mov rcx, 6
101
 	div rcx
100
 	div rcx
102
 	push rax
101
 	push rax
103
-	mov rax, rdx
104
-	add al, 0x30
105
-	mov byte [timestr + 4], al
102
+	add dl, 0x30
103
+	mov byte [timestr + 4], dl
106
 
104
 
107
-	pop rax
108
 	xor rdx, rdx
105
 	xor rdx, rdx
109
 	mov rcx, 10
106
 	mov rcx, 10
110
 	div rcx
107
 	div rcx
111
-	push rax
112
-	mov rax, rdx
113
-	add al, 0x30
114
-	mov byte [timestr + 2], al
108
+	add dl, 0x30
109
+	mov byte [timestr + 2], dl
115
 
110
 
116
 	pop rax
111
 	pop rax
117
 	xor rdx, rdx
112
 	xor rdx, rdx
118
 	mov rcx, 6
113
 	mov rcx, 6
119
 	div rcx
114
 	div rcx
120
-	push rax
121
-	mov rax, rdx
122
-	add al, 0x30
123
-	mov byte[timestr + 1], al
115
+	add dl, 0x30
116
+	mov byte[timestr + 1], dl
124
 
117
 
125
 	; filling the hours buffer
118
 	; filling the hours buffer
126
 	; r8 will contain our digits counter : max is 8
119
 	; r8 will contain our digits counter : max is 8
127
 	mov r8, 8
120
 	mov r8, 8
128
-	pop rax
129
 	print_time_hours_loop:
121
 	print_time_hours_loop:
130
 		mov rcx, 10
122
 		mov rcx, 10
131
 		xor rdx, rdx
123
 		xor rdx, rdx
151
 	add r8, 1
143
 	add r8, 1
152
 	cmp r8, 7
144
 	cmp r8, 7
153
 	jle print_time_hours_cont
145
 	jle print_time_hours_cont
154
-	mov r8, 7
146
+	mov r8, 7 ; maximum value for r8
155
 	print_time_hours_cont:
147
 	print_time_hours_cont:
156
 	mov r9, hours
148
 	mov r9, hours
157
 	add r9, r8
149
 	add r9, r8
158
 	mov rcx, 9
150
 	mov rcx, 9
159
-	sub rcx, r8
160
-	add rcx, timestrlen
151
+	sub rcx, r8 ; rcx is hours size 
152
+	add rcx, timestrlen ; add to timestrlen
161
 
153
 
162
 	mov rax, 1 ; write
154
 	mov rax, 1 ; write
163
 	mov rdi, 1 ; stdout
155
 	mov rdi, 1 ; stdout
164
-	mov rsi, r9
165
-	mov rdx, rcx
156
+	mov rsi, r9 ; start hours pointer
157
+	mov rdx, rcx ; size to timestr end
166
 	syscall
158
 	syscall
167
 
159
 
168
 	; Attempt to read from stdin
160
 	; Attempt to read from stdin
189
 	mov rdx, 1
181
 	mov rdx, 1
190
 	syscall
182
 	syscall
191
 	cmp rax, 0
183
 	cmp rax, 0
192
-	je newline
184
+	je newline_exit
193
 	jg flush_stdin
185
 	jg flush_stdin
194
 
186
 
195
 exit:
187
 exit:
211
 	mov rdi, 1 ; failure
203
 	mov rdi, 1 ; failure
212
 	syscall
204
 	syscall
213
 
205
 
214
-newline:
206
+newline_exit:
215
 	mov rax, 1
207
 	mov rax, 1
216
 	mov rdi, 1
208
 	mov rdi, 1
217
 	mov rsi, nl
209
 	mov rsi, nl

Loading…
Annuleren
Opslaan