Rev 551 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 551 | Rev 625 | ||
---|---|---|---|
Line 15... | Line 15... | ||
15 | dd I_END ; program image size |
15 | dd I_END ; program image size |
16 | dd 0x100000 ; required amount of memory |
16 | dd 0x100000 ; required amount of memory |
17 | dd 0x00000000 ; reserved=no extended header |
17 | dd 0x00000000 ; reserved=no extended header |
18 | include 'lang.inc' |
18 | include 'lang.inc' |
19 | include '..\..\..\macros.inc' |
19 | include '..\..\..\macros.inc' |
- | 20 | purge mov ; decrease kpack'ed size |
|
Line 20... | Line 21... | ||
20 | 21 | ||
21 | START: ; start of execution |
22 | START: ; start of execution |
Line 22... | Line 23... | ||
22 | call draw_window ; at first, draw the window |
23 | call draw_window ; at first, draw the window |
Line 52... | Line 53... | ||
52 | mov ebx, text + 64 |
53 | mov ebx, text + 64 |
53 | call printhex |
54 | call printhex |
Line 54... | Line 55... | ||
54 | 55 | ||
55 | 56 | ||
56 | ; Fill the table with blanks |
57 | ; Fill the table with blanks |
57 | mov edx, text + 160 |
58 | mov edi, text + 160 |
58 | doBlank: |
- | |
59 | mov esi, blank |
59 | doBlank: |
60 | mov edi, edx |
60 | mov esi, blank |
61 | mov ecx, 40 |
- | |
Line 62... | Line 61... | ||
62 | rep movsb |
61 | mov ecx, 40 |
63 | add edx, 40 |
62 | rep movsb |
Line 64... | Line 63... | ||
64 | 63 | ||
Line 65... | Line 64... | ||
65 | cmp edx, text + 560 |
64 | cmp edi, text + 560 |
Line 300... | Line 299... | ||
300 | jnz still |
299 | jnz still |
Line 301... | Line 300... | ||
301 | 300 | ||
302 | mov eax,0xffffffff ; close this program |
301 | mov eax,0xffffffff ; close this program |
Line 303... | Line -... | ||
303 | mcall |
- | |
304 | - | ||
305 | jmp still |
- | |
Line 306... | Line 302... | ||
306 | 302 | mcall |
|
307 | 303 | ||
308 | 304 | ||
309 | writeDecimal: |
- | |
310 | pusha |
305 | writeDecimal: |
311 | and eax, 0xff |
306 | pusha |
312 | mov ecx, eax |
307 | and eax, 0xff |
313 | mov dl, 100 |
308 | mov dl, 100 |
314 | div dl |
309 | div dl |
315 | mov cl, ah |
310 | movzx ecx, ah |
316 | add al, '0' |
311 | add al, '0' |
317 | mov [ebx], al |
312 | mov [ebx], al |
318 | inc ebx |
313 | inc ebx |
319 | mov eax, ecx |
- | |
320 | mov dl, 10 |
314 | mov eax, ecx |
321 | div dl |
- | |
322 | mov cl, ah |
- | |
323 | add al, '0' |
- | |
324 | mov [ebx], al |
- | |
325 | inc ebx |
315 | mov dl, 10 |
326 | mov al, ah |
316 | div dl |
327 | add al, '0' |
317 | add ax, '00' |
Line 328... | Line 318... | ||
328 | mov [ebx], al |
318 | mov [ebx], ax |
Line 358... | Line 348... | ||
358 | mov edx,text |
348 | mov edx,text |
359 | mov esi,40 |
349 | mov esi,40 |
360 | newline: |
350 | newline: |
361 | mcall |
351 | mcall |
362 | add ebx,16 |
352 | add ebx,16 |
363 | add edx,40 |
353 | add edx,esi |
364 | cmp [edx],byte 'x' |
354 | cmp [edx],byte 'x' |
365 | jnz newline |
355 | jnz newline |
Line 366... | Line 356... | ||
366 | 356 | ||
Line 409... | Line 399... | ||
409 | db ' xxx.xxx.xxx.xxx xxxxxxxxxxxx xxxx xxxx ' |
399 | db ' xxx.xxx.xxx.xxx xxxxxxxxxxxx xxxx xxxx ' |
410 | db ' xxx.xxx.xxx.xxx xxxxxxxxxxxx xxxx xxxx ' |
400 | db ' xxx.xxx.xxx.xxx xxxxxxxxxxxx xxxx xxxx ' |
411 | db ' xxx.xxx.xxx.xxx xxxxxxxxxxxx xxxx xxxx ' |
401 | db ' xxx.xxx.xxx.xxx xxxxxxxxxxxx xxxx xxxx ' |
412 | db ' xxx.xxx.xxx.xxx xxxxxxxxxxxx xxxx xxxx ' |
402 | db ' xxx.xxx.xxx.xxx xxxxxxxxxxxx xxxx xxxx ' |
413 | db ' xxx.xxx.xxx.xxx xxxxxxxxxxxx xxxx xxxx ' |
403 | db ' xxx.xxx.xxx.xxx xxxxxxxxxxxx xxxx xxxx ' |
414 | db 'x <- END MARKER, DONT DELETE ' |
404 | db 'x' ; <- END MARKER, DONT DELETE |
Line 415... | Line 405... | ||
415 | 405 | ||
416 | 406 | ||
Line 422... | Line 412... | ||
422 | 412 | ||
Line 423... | Line 413... | ||
423 | hextable db '0123456789ABCDEF' |
413 | hextable db '0123456789ABCDEF' |
424 | - | ||
425 | - | ||
426 | I_END:-> |
- | |
427 | - | ||
428 | - | ||
429 | - |