-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathprinters.asm
63 lines (61 loc) · 1.22 KB
/
printers.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
printMatriz: ;void[rax] printMatriz(int *MatrizparaPrint[rdi], int Tamanhomatriz[rsi], int Tamanholinha[rdx],int *arquivo[rcx])
push rbp
mov rbp, rsp
mov r15, rdi
mov r14, rsi
mov r13, rdx
mov r12, rcx
xor r10, r10
xor rbx, rbx
sub rsp,16
mov qword[rsp+16], r12
and qword[rsp+8], 0
printMatrizFor1:
mov rdi, [rsp+16]
lea rsi, [printCtrl]
mov rax, qword[rsp+8]
mov edx, [r15+rax*8]
xor rax,rax
call fprintf
inc qword[rsp+8]
inc rbx
cmp rbx, r13
jne printMatrizCond
xor rax,rax
mov rdi, [rsp+16]
lea rsi, [println]
call fprintf
xor rbx, rbx
printMatrizCond:
cmp qword[rsp+8], r14
jne printMatrizFor1
mov rsp, rbp
pop rbp
ret
printVetor: ;void[rax] printVetor(int *VetorparaPrint[rdi], int Tamanholinha[rsi],int *arquivo[rdx])
push rbp
mov rbp, rsp
mov r15, rdi
mov r14, rsi
mov r12, rdx
xor r10, r10
sub rsp,16
mov qword[rsp+16], r12
and qword[rsp+8], 0
printVetorFor1:
mov rdi, [rsp+16]
lea rsi, [printCtrl]
mov rax, qword[rsp+8]
mov edx, [r15+rax*8]
xor rax,rax
call fprintf
inc qword[rsp+8]
cmp qword[rsp+8], r14
jne printVetorFor1
mov rdi, [rsp+16]
lea rsi, [println]
xor rax,rax
call fprintf
mov rsp, rbp
pop rbp
ret