28,7 → 28,7 |
|
mcall 18,15 |
|
mov eax, 70 ; load AUTORUN.DAT |
mov eax, 58 ; load AUTORUN.DAT |
mov ebx, autorun_dat_info |
int 0x40 |
|
59,7 → 59,7 |
|
run_program: ; time to delay in eax |
push eax |
mcall 70, start_info |
mcall 58, start_info |
pop ebx |
|
mov eax, 5 |
77,6 → 77,7 |
|
mov ecx, 60 |
mov edi, parameters |
xor al, al |
rep stosb |
|
popad |
111,11 → 112,13 |
xor ebx, ebx |
.start: |
lodsb |
cmp al, '0' |
jb .finish |
cmp al, '9' |
ja .finish |
sub al, '0' |
cmp al, 9 |
ja .finish |
lea ebx,[ebx*4+ebx] |
lea ebx,[ebx*2+eax] |
imul ebx, 10 |
add ebx, eax |
inc [position] |
jmp .start |
.finish: |
177,17 → 180,17 |
autorun_dat_info: ; AUTORUN.DAT |
.mode dd 0 ; read file |
.start_block dd 0 ; block to read |
dd 0 |
.blocks dd 16*512 ; 16*512 bytes max |
.blocks dd 0x10 ; 16*512 bytes max |
.address dd file_data |
.workarea dd work_area |
db "/RD/1/AUTORUN.DAT",0 |
|
start_info: |
.mode dd 7 |
.mode dd 16 |
dd 0 |
.params dd parameters |
dd 0 |
dd 0 |
.workarea dd work_area |
.path: ; |
|
I_END: |
197,4 → 200,5 |
|
number_of_files dd ? |
|
work_area rb 0x4000 |
file_data rb 16*512 |