加算用に8086マイクロプロセッサを使用してアセンブリ言語で入力を取得するにはどうすればよいですか?
; 2 つの数値を加算する 8086 アセンブリ言語プログラム
;コードが実行されるセグメントを定義します
.MODEL 小
;スタックセグメントサイズを定義する
.スタック100H
;変数が保存されるデータセグメントを定義します
。データ
;入出力ポートを定義する
インポートEQU 68H
アウトポートEQ6CH
;入出力バッファを定義する
INPUT_BUF DB 10 DUP('$')
;出力バッファを定義する
OUTPUT_BUF DB 11 DUP('$')
;キャリッジ リターンとライン フィード文字を定義する
CRLF DB 0DH、0AH、'$'
;表示するメッセージを定義する
MSG DB '2 つの数字を入力してください:'、'$'
;コードが実行されるセグメントを定義します
。コード
;メインプロシージャを定義する
メインプロセス
;画面にメッセージを表示する
MOV ああ、9;表示文字列
LEA DX, MSG;メッセージのアドレス
INT 21H; DOSサービスを呼び出す
;ユーザーから最初の番号を取得します
MOV ああ、1;キャラクターを取得
INT 21H; DOSサービスを呼び出す
ムーアル、ああ;キャラクターをALに格納する
サブ AL、30H; ASCIIコードを数値に変換します
BL, アラバマ州;最初の数値をBLに格納します
;ユーザーから 2 番目の番号を取得します
MOV ああ、1;キャラクターを取得
INT 21H; DOSサービスを呼び出す
ムーアル、ああ;キャラクターをALに格納する
サブAL、30H; ASCIIコードを数値に変換します
MOV BH, アラバマ州; 2番目の数値をBHに格納します
; 2 つの数値を加算します
BL、BHを追加します。 2 つの数値を加算します
MOVAL, BL;結果を AL に保存する
;結果を画面に表示する
MOV ああ、2;文字を書く
MOV DL, アラバマ州;結果をDLに保存する
INT 21H; DOSサービスを呼び出す
;復帰文字と改行文字を表示する
MOV ああ、9;表示文字列
LEA DX, CRLF;復帰文字と改行文字のアドレス
INT 21H; DOSサービスを呼び出す
;プログラムを終了する
MOV ああ、4CH;プログラムを終了する
INT 21H; DOSサービスを呼び出す
;主な手順の終了
メインエンドポイント
;プログラムの終了
エンドメイン
「」