/
oef4p33.lst
122 lines (122 loc) · 6.79 KB
/
oef4p33.lst
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
1 %include "gt.asm"
2 <1> extern GetStdHandle, WriteFile, ReadFile, CreateFileA, CloseHandle,
3 <1> ExitProcess
4 <1> %macro covar 0.nolist
5 <1> [section .data]
6 <1> times 100 dd 0
7 <1> mvpad: db '.\',__FILE__
8 <1> mvnapad: db 0
9 <1> %endmacro
10 <1>
11 <1> %macro openin 0.nolist
12 <1> extern openisr
13 <1> push dword mvpad
14 <1> push dword mvnapad
15 <1> call openisr
16 <1> %endmacro
17 <1>
18 <1> %macro openuit 0.nolist
19 <1> extern openusr
20 <1> push dword mvpad
21 <1> push dword mvnapad
22 <1> call openusr
23 <1> %endmacro
24 <1>
25 <1> %macro schrijf 0.nolist
26 <1> extern schrsr
27 <1> push dword outarea
28 <1> push dword 72
29 <1> call schrsr
30 <1> %endmacro
31 <1>
32 <1> %macro uit 1.nolist
33 <1> extern uitsr
34 <1> push esi
35 <1> lea esi, %1
36 <1> push esi
37 <1> call uitsr
38 <1> pop esi
39 <1> %endmacro
40 <1>
41 <1> %macro inv 1.nolist
42 <1> ;deze macro leest een getal in van het scherm;
43 <1> ;het getal staat daarna in binaire vorm in %1
44 <1> extern invsr
45 <1> push esi
46 <1> lea esi,%1
47 <1> push esi
48 <1> call invsr
49 <1> pop esi
50 <1> %endmacro
51 <1>
52 <1> %macro lees 0.nolist
53 <1> extern leessr
54 <1> push dword inarea
55 <1> call leessr
56 <1> %endmacro
57 <1>
58 <1> %macro inleiding 0.nolist
59 <1> [section .code]
60 <1>
61 <1> start:
62 <1> %endmacro
63 <1>
64 <1> %macro slot 0.nolist
65 <1> extern sluitsr
66 <1> call sluitsr
67 <1> %endmacro
68 <1>
69 <1> %macro tekstbin 0.nolist
70 <1> ;De externe inhoud vanaf adres in ESI wordt omgerekend naar binair.
71 <1> ;Het aantal bytes moet in ECX staan.
72 <1> ;Het resultaat komt in EAX.
73 <1>
74 <1> extern tkstbsr
75 <1> call tkstbsr
76 <1> %endmacro
77 <1>
78 00000000 00000000<rept>2E5C- covar
79 00000192 6F6566347033332E61-
80 0000019B 736D00
81 0000019E <res 00000004> x: resd 1
82 ****************** warning: uninitialised space declared in non-BSS section `.data': zeroing
83 000001A2 <res 00000004> y: resd 1
84 ****************** warning: uninitialised space declared in non-BSS section `.data': zeroing
85 000001A6 <res 00000004> z: resd 1
86 ****************** warning: uninitialised space declared in non-BSS section `.data': zeroing
87
88 000001AA 02000000 two: dd 2
89 000001AE 04000000 four: dd 4
90 000001B2 08000000 eight: dd 8
91
92 000001B6 <res 00000004> sum: resd 1
93 ****************** warning: uninitialised space declared in non-BSS section `.data': zeroing
94 inleiding
95 00000000 568D35[9E010000]56- inv[x]
96 00000008 E8(00000000)5E
97 0000000E 568D35[A2010000]56- inv[y]
98 00000016 E8(00000000)5E
99 0000001C 568D35[A6010000]56- inv[z]
100 00000024 E8(00000000)5E
101
102 0000002A A1[9E010000] mov EAX,[x]
103 0000002F F72D[AA010000] imul dword [two]
104 00000035 A3[9E010000] mov [x],EAX
105
106 0000003A A1[A2010000] mov EAX,[y]
107 0000003F F72D[AE010000] imul dword [four]
108 00000045 A3[A2010000] mov [y],EAX
109
110 0000004A A1[A6010000] mov EAX,[z]
111 0000004F F72D[B2010000] imul dword [eight]
112 00000055 A3[A6010000] mov [z],EAX
113
114
115 0000005A 29C0 sub EAX,EAX
116 0000005C A1[9E010000] mov EAX,[x]
117 00000061 0305[A2010000] add EAX,[y]
118 00000067 0305[A6010000] add EAX,[z]
119 0000006D A3[B6010000] mov [sum],EAX
120 00000072 568D35[B6010000]56- uit[sum]
121 0000007A E8(00000000)5E
122 00000080 E8(00000000) slot