forked from KolibriOS/kolibrios
60 lines
743 B
PHP
60 lines
743 B
PHP
; wraps command line arguments in quotes and launches a target.
|
|
; TARGET equ 'target_name' must be defined before including this file.
|
|
|
|
org 0x0
|
|
use32
|
|
|
|
db 'MENUET01'
|
|
dd 1
|
|
dd start
|
|
dd i_end
|
|
dd m_end
|
|
dd m_end
|
|
dd params
|
|
dd 0
|
|
|
|
start:
|
|
cmp byte [params], 0
|
|
je .launch
|
|
|
|
mov esi, params
|
|
mov edi, new_params
|
|
mov byte [edi], '"'
|
|
inc edi
|
|
|
|
.copy:
|
|
lodsb
|
|
test al, al
|
|
jz .done
|
|
stosb
|
|
jmp .copy
|
|
|
|
.done:
|
|
mov byte [edi], '"'
|
|
inc edi
|
|
mov byte [edi], 0
|
|
|
|
mov dword [fi + 8], new_params
|
|
|
|
.launch:
|
|
mov eax, 70
|
|
mov ebx, fi
|
|
int 0x40
|
|
|
|
mov eax, -1
|
|
int 0x40
|
|
|
|
fi:
|
|
dd 7, 0, 0, 0, 0
|
|
db 0
|
|
dd target_path
|
|
|
|
target_path db TARGET, 0
|
|
|
|
i_end:
|
|
|
|
params rb 1024
|
|
new_params rb 1024
|
|
|
|
m_end:
|