Ładowanie programów do pamięci RAM i wykonywanie ich NASM 16b

Jestem zdesperowany, aby rozwiązać ten problem. Usiłuję opracować kod zespołu pozwalający mi załadować i wykonać (przez wejście użytkownika) 2 inne programy Assembly EXE. Mam dwa problemy:

Wydaje mi się, że nie mogę przypisać ścieżki do poprawnego rejestru (lub może niepoprawnej składni)

Muszę być w stanie wykonać inny program po tym, jak pierwszy z nich (może być albo jednym z nich) zaczął się uruchamiać.

Oto, co mam do tej pory:

<code>mov ax,cs ; moving code segment to data segment
mov ds,ax

mov ah,1h ; here I read from keyboard
int 21h
mov dl,al

cmp al,'1' ; if 1 jump to LOADRUN1 
JE LOADRUN1 

cmp al,'2' ; if 2 jump to LOADRUN2 
JE LOADRUN2

LOADRUN1:
    MOV AH,4BH
    MOV AL,00
    LEA DX,[PROGNAME1] ; Not sure if it works
    INT 21H


LOADRUN2:
    MOV AH,4BH
    MOV AL,00
    LEA DX,[PROGNAME2] ; Not sure if it works
    INT 21H

; Here I define the bytes containing the pathnames
PROGNAME1 db 'C:\Users\Usuario\NASM\Adding.exe',0 
PROGNAME2 db 'C:\Users\Usuario\NASM\Substracting.exe',0
</code>

Po prostu nie wiem, jak uruchomić inny program przez wejście w programie „rodzica”, po tym jak już został uruchomiony.

Z góry dziękuje za twoją pomoc! Wszelkie dodatkowe informacje z przyjemnością dostarczę.

Nie jest nakładką.Używam 16 bitów NASM, Windows 7 32 bity.

questionAnswers(2)

yourAnswerToTheQuestion