Modified load_file to work directly from the stack
This commit is contained in:
parent
14fcc32d79
commit
df9f175662
22
kernel.asm
22
kernel.asm
@ -276,20 +276,14 @@ file_exists_found:
|
|||||||
load_file:
|
load_file:
|
||||||
push bp
|
push bp
|
||||||
mov bp, sp
|
mov bp, sp
|
||||||
mov ax, word [bp + 4]
|
|
||||||
mov word [_load_segment], ax
|
|
||||||
mov ax, word [bp + 6]
|
|
||||||
mov word [_load_pointer], ax
|
|
||||||
mov ax, word [bp + 8]
|
|
||||||
mov word [_load_cluster], ax
|
|
||||||
|
|
||||||
mov ax, word [_load_segment]
|
mov ax, word [bp + 4]
|
||||||
mov es, ax
|
mov es, ax
|
||||||
|
|
||||||
load_file_loop:
|
load_file_loop:
|
||||||
mov bx, word [_load_pointer]
|
mov bx, word [bp + 6]
|
||||||
|
|
||||||
mov al, byte [_load_cluster]
|
mov al, byte [bp + 8]
|
||||||
add al, 34
|
add al, 34
|
||||||
|
|
||||||
mov cl, al
|
mov cl, al
|
||||||
@ -301,26 +295,22 @@ load_file_loop:
|
|||||||
|
|
||||||
int 13h
|
int 13h
|
||||||
|
|
||||||
add word [_load_pointer], 512
|
add word [bp + 6], 512
|
||||||
|
|
||||||
mov si, word [_load_cluster]
|
mov si, word [bp + 8]
|
||||||
shl si, 1
|
shl si, 1
|
||||||
add si, 4000h
|
add si, 4000h
|
||||||
; add si, 1
|
; add si, 1
|
||||||
cmp word [ds:si], 0ffffh
|
cmp word [ds:si], 0ffffh
|
||||||
je load_file_loaded
|
je load_file_loaded
|
||||||
|
|
||||||
add word [_load_cluster], 1
|
add word [bp + 8], 1
|
||||||
jmp load_file_loop
|
jmp load_file_loop
|
||||||
|
|
||||||
load_file_loaded:
|
load_file_loaded:
|
||||||
pop bp
|
pop bp
|
||||||
ret 6
|
ret 6
|
||||||
|
|
||||||
_load_pointer dw 0
|
|
||||||
_load_cluster dw 0
|
|
||||||
_load_segment dw 0
|
|
||||||
|
|
||||||
decode_filename:
|
decode_filename:
|
||||||
push bp
|
push bp
|
||||||
mov bp, sp
|
mov bp, sp
|
||||||
|
Loading…
x
Reference in New Issue
Block a user