array.sbk (3425B)
1 .486 2 .model flat 3 extrn __fltused:near 4 extrn __ftol:near 5 public _main 6 _TEXT segment 7 _main: 8 push ebx 9 push esi 10 push edi 11 push ebp 12 mov ebp,esp 13 sub esp,60 14 mov dword ptr (-8)[ebp],0 15 L2: 16 mov dword ptr (-4)[ebp],0 17 L6: 18 mov edi,dword ptr (-4)[ebp] 19 mov esi,dword ptr (-8)[ebp] 20 mov ebx,esi 21 sal ebx,4 22 imul esi,esi,1000 23 lea esi,[edi][esi] 24 mov dword ptr (_x)[ebx][edi*4],esi 25 L7: 26 inc dword ptr (-4)[ebp] 27 cmp dword ptr (-4)[ebp],4 28 jl L6 29 mov edi,dword ptr (-8)[ebp] 30 mov esi,edi 31 sal esi,4 32 lea esi,(_x)[esi] 33 mov dword ptr (_y)[edi*4],esi 34 L3: 35 inc dword ptr (-8)[ebp] 36 cmp dword ptr (-8)[ebp],3 37 jl L2 38 call _f 39 add esp,0 40 mov dword ptr (-8)[ebp],0 41 L10: 42 mov edi,dword ptr (-8)[ebp] 43 mov esi,edi 44 sal esi,4 45 lea esi,(-60)[ebp][esi] 46 mov dword ptr (-12)[ebp],esi 47 mov dword ptr (_y)[edi*4],esi 48 mov dword ptr (-4)[ebp],0 49 L14: 50 mov edi,dword ptr (-4)[ebp] 51 lea edi,[edi*4] 52 mov esi,dword ptr (-12)[ebp] 53 mov ebx,dword ptr (-8)[ebp] 54 sal ebx,4 55 mov ebx,dword ptr (_x)[ebx][edi] 56 mov dword ptr [esi][edi],ebx 57 L15: 58 inc dword ptr (-4)[ebp] 59 cmp dword ptr (-4)[ebp],4 60 jl L14 61 L11: 62 inc dword ptr (-8)[ebp] 63 cmp dword ptr (-8)[ebp],3 64 jl L10 65 lea edi,(_y) 66 push edi 67 lea edi,(-60)[ebp] 68 push edi 69 call _g 70 add esp,8 71 mov eax,0 72 L1: 73 mov esp,ebp 74 pop ebp 75 pop edi 76 pop esi 77 pop ebx 78 ret 79 public _f 80 _f: 81 push ebx 82 push esi 83 push edi 84 push ebp 85 mov ebp,esp 86 sub esp,8 87 mov dword ptr (-8)[ebp],0 88 L19: 89 mov dword ptr (-4)[ebp],0 90 L23: 91 mov edi,dword ptr (-4)[ebp] 92 mov esi,dword ptr (-8)[ebp] 93 sal esi,4 94 mov edi,dword ptr (_x)[esi][edi*4] 95 push edi 96 lea edi,(L27) 97 push edi 98 call _printf 99 add esp,8 100 L24: 101 inc dword ptr (-4)[ebp] 102 cmp dword ptr (-4)[ebp],4 103 jl L23 104 L20: 105 inc dword ptr (-8)[ebp] 106 cmp dword ptr (-8)[ebp],3 107 jl L19 108 lea edi,(L28) 109 push edi 110 call _printf 111 add esp,4 112 mov dword ptr (-8)[ebp],0 113 L29: 114 mov dword ptr (-4)[ebp],0 115 L33: 116 mov edi,dword ptr (-4)[ebp] 117 mov esi,dword ptr (-8)[ebp] 118 mov esi,dword ptr (_y)[esi*4] 119 mov edi,dword ptr [esi][edi*4] 120 push edi 121 lea edi,(L27) 122 push edi 123 call _printf 124 add esp,8 125 L34: 126 inc dword ptr (-4)[ebp] 127 cmp dword ptr (-4)[ebp],4 128 jl L33 129 L30: 130 inc dword ptr (-8)[ebp] 131 cmp dword ptr (-8)[ebp],3 132 jl L29 133 lea edi,(L28) 134 push edi 135 call _printf 136 add esp,4 137 mov eax,0 138 L18: 139 mov esp,ebp 140 pop ebp 141 pop edi 142 pop esi 143 pop ebx 144 ret 145 public _g 146 _g: 147 push ebx 148 push esi 149 push edi 150 push ebp 151 mov ebp,esp 152 sub esp,8 153 mov dword ptr (-8)[ebp],0 154 L38: 155 mov dword ptr (-4)[ebp],0 156 L42: 157 mov edi,dword ptr (-4)[ebp] 158 mov esi,dword ptr (-8)[ebp] 159 sal esi,4 160 mov ebx,dword ptr (20)[ebp] 161 lea esi,[ebx][esi] 162 mov edi,dword ptr [esi][edi*4] 163 push edi 164 lea edi,(L27) 165 push edi 166 call _printf 167 add esp,8 168 L43: 169 inc dword ptr (-4)[ebp] 170 cmp dword ptr (-4)[ebp],4 171 jl L42 172 L39: 173 inc dword ptr (-8)[ebp] 174 cmp dword ptr (-8)[ebp],3 175 jl L38 176 lea edi,(L28) 177 push edi 178 call _printf 179 add esp,4 180 mov dword ptr (-8)[ebp],0 181 L46: 182 mov dword ptr (-4)[ebp],0 183 L50: 184 mov edi,dword ptr (-4)[ebp] 185 mov esi,dword ptr (-8)[ebp] 186 mov ebx,dword ptr (24)[ebp] 187 mov esi,dword ptr [ebx][esi*4] 188 mov edi,dword ptr [esi][edi*4] 189 push edi 190 lea edi,(L27) 191 push edi 192 call _printf 193 add esp,8 194 L51: 195 inc dword ptr (-4)[ebp] 196 cmp dword ptr (-4)[ebp],4 197 jl L50 198 L47: 199 inc dword ptr (-8)[ebp] 200 cmp dword ptr (-8)[ebp],3 201 jl L46 202 lea edi,(L28) 203 push edi 204 call _printf 205 add esp,4 206 mov eax,0 207 L37: 208 mov esp,ebp 209 pop ebp 210 pop edi 211 pop esi 212 pop ebx 213 ret 214 _TEXT ends 215 extrn _printf:near 216 _TEXT segment 217 _TEXT ends 218 _DATA segment 219 public _y 220 align 4 221 _y label byte 222 db 12 dup (0) 223 public _x 224 align 4 225 _x label byte 226 db 48 dup (0) 227 _DATA ends 228 _TEXT segment 229 align 1 230 L28 label byte 231 db 10 232 db 0 233 align 1 234 L27 label byte 235 db 32 236 db 37 237 db 100 238 db 0 239 _TEXT ends 240 end