2つのアセンブリ.EXEプログラムをロードして(ユーザーの入力によって)実行できるようにするアセンブリコードを作成しようとしています。アセンブリのロードと実行の問題
-I有効レジスタ(または多分間違った構文)にパス名を割り当てることができていないよう
-Iの後に他のプログラムを実行することができるようにする必要性:私は2つの問題があるんです最初のもの(どちらか一方でもよい)がその実行を開始した。
これは私がこれまで持っているものです。
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
popf
cmp al,'2' ; if 1 jump to LOADRUN2
JE LOADRUN2
popf
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
私はちょうど1が既に実行された後、「親」プログラムに入力することにより、別のプログラムを起動する方法がわかりません。
ご協力いただきありがとうございます。 追加情報私は提供することを喜んでします。
- 私はNASM 16ビット、Windows 7 32ビットを使用しています。
エミュレートされたMS DOS環境で実行していますか?または単にWindowsシェル/ cliの中で実行しようとしていますか? – ShinTakezou
@ ShinTakezou .ASMファイルにコードがあり、NASM.EXEでコンパイルして.EXEファイルを作成し、実行します。それは基本的にアプリです。 –
あなたは 'LEA DX、[PROGNAME1]'を試しましたか? – harold