Ł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:
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
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.