Skip to content

Commit 3882df8

Browse files
committed
asm stuff
Signed-off-by: lucasew <[email protected]>
1 parent 2aa6f72 commit 3882df8

File tree

3 files changed

+55
-0
lines changed

3 files changed

+55
-0
lines changed

assembly/.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
exe_*
2+
*.o

assembly/build

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/usr/bin/env bash
2+
3+
nasm -felf64 $1.asm -g
4+
gcc $1.o -o exe_$1

assembly/print_vec.asm

+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
; vim:ft=asm
2+
3+
segment .data
4+
virgula db ", ", 0
5+
nl db 10, 0
6+
fmt db "%i", 0
7+
8+
vetor dq 1, 2, 3, 4, 5, 6, 7, 8, 9, 0
9+
10+
segment .text
11+
12+
extern printf
13+
global main
14+
15+
16+
main:
17+
mov r12, 0 ; indice
18+
jmp _body
19+
_virgula:
20+
push rbp
21+
mov rdi, virgula
22+
; xor rsi, rsi
23+
mov rax, 0
24+
call printf
25+
pop rbp
26+
_body:
27+
mov rsi, [vetor+r12*8]
28+
push rbp
29+
mov rdi, fmt
30+
mov rax, 0
31+
call printf
32+
pop rbp
33+
34+
add r12, 1
35+
mov rsi, [vetor+r12*8]
36+
cmp rsi, 0
37+
je _end
38+
39+
jmp _virgula
40+
41+
_end:
42+
push rbp
43+
mov rdi, nl
44+
mov rax, 0
45+
call printf
46+
pop rbp
47+
48+
mov rax, 0
49+
ret

0 commit comments

Comments
 (0)