-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathleitor.asm
141 lines (98 loc) · 1.83 KB
/
leitor.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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
readProgramadores:
xor rax, rax
mov rdi, [fileHandle1]
lea rsi, [scanCtrl]
lea rdx, [quantProg]
call fscanf
readTarefa:
xor rax, rax
mov rdi, [fileHandle1]
lea rsi, [scanCtrl]
lea rdx, [quantTarf]
call fscanf
preReadMatrizCusto:
xor rax,rax
movsx rax, dword[quantProg]
movsx rbx, dword[quantTarf]
imul rax, rbx
mov qword[ForJ], rax
imul rax, 8
sub rsp,rax
mov rax, rsp
and rax, 0b1000
cmp rax, 8
jne par1
sub rsp,8
par1:
mov [MatrizCusto], rsp
xor r15, r15
mov qword[ForI], 0
mov r14, rsp
readMatrizCusto:
mov r15, qword[ForI]
inc qword[ForI]
xor rax, rax
mov rdi, [fileHandle1]
lea rsi, [scanCtrl]
mov r14, [MatrizCusto]
lea rdx, [r14+r15*8]
call fscanf
mov rax,[ForI]
cmp rax,[ForJ]
jne readMatrizCusto
preReadMatrizCH:
xor rax,rax
movsx rax, dword[quantProg]
movsx rbx, dword[quantTarf]
imul rax, rbx
mov qword[ForJ], rax
imul rax, 8
sub rsp,rax
mov rax, rsp
and rax, 8
cmp rax, 8
jne par2
sub rsp,8
par2:
mov [MatrizCH], rsp
xor r15, r15
mov qword[ForI], 0
mov r14, rsp
readMatrizCH:
mov r15,[ForI]
inc qword[ForI]
xor rax, rax
mov rdi, [fileHandle1]
lea rsi, [scanCtrl]
lea rdx, [r14+r15*8]
call fscanf
mov rax, [ForI]
cmp rax, [ForJ]
jne readMatrizCH
preReadCargaH:
xor rax,rax
movsx rax, dword[quantProg]
mov qword[ForJ], rax
imul rax,8
sub rsp,rax
mov rax, rsp
and rax, 8
cmp rax, 8
jne par3
sub rsp,8
par3:
mov [CargaH], rsp
xor r15, r15
mov qword[ForI], 0
mov r14, rsp
readCargaH:
mov r15,[ForI]
inc qword[ForI]
xor rax, rax
mov rdi, [fileHandle1]
lea rsi, [scanCtrl]
lea rdx, [r14+r15*8]
call fscanf
mov rax,[ForI]
cmp rax,[ForJ]
jne readCargaH