|
|
@ -2,7 +2,8 @@ |
|
|
|
; This is the "program" to execute a program |
|
|
|
xex: |
|
|
|
pusha ; save state before program |
|
|
|
|
|
|
|
sub sp, 2048 |
|
|
|
mov [.program_executable_buffer], sp |
|
|
|
call os_clear_screen |
|
|
|
call lsfs_list_files_command |
|
|
|
|
|
|
@ -74,14 +75,14 @@ xex: |
|
|
|
mov [.fileindex_for_open_file], ax ; save the file index |
|
|
|
|
|
|
|
|
|
|
|
;mov ax, [.fileindex_for_open_file] |
|
|
|
;mov bx, [.program_executable_buffer] |
|
|
|
;call lsfs_read_file |
|
|
|
mov ax, [.fileindex_for_open_file] |
|
|
|
mov bx, [.program_executable_buffer] |
|
|
|
call lsfs_read_file |
|
|
|
|
|
|
|
;mov [.program_executable_buffer], ax |
|
|
|
mov [.program_executable_buffer], ax |
|
|
|
|
|
|
|
; I guess we should have something like |
|
|
|
; call ax ; here. We want to execute the file that we just have benn loaded in memory |
|
|
|
call ax ; here. We want to execute the file that we just have benn loaded in memory |
|
|
|
; The executable should make use of the global systemcall table. |
|
|
|
; That is what we are trying to get to work here. |
|
|
|
|
|
|
@ -90,5 +91,5 @@ xex: |
|
|
|
|
|
|
|
|
|
|
|
.welcome_xex_enter_fileindex db 'Enter program index to execute: ', 0 |
|
|
|
.program_executable_buffer db 0 |
|
|
|
.fileindex_for_open_file dw 0 |
|
|
|
.fileindex_for_open_file dw 0 |
|
|
|
.program_executable_buffer db 0 |