これは非常に基本的かもしれませんが、私はそれを本当に理解できません。8086組み立てに関連するトラブル
私は8255のAとBポートを使って単語を入力しています。後で
PORT_A EQU 0008h // inputs low byte
PORT_B EQU 000Ah // inputs high byte
コードセグメントでは、私はこれを行う部分を持っている:
MOV DX, PORT_B
IN AL, DX
MOV AH, AL
MOV DX, PORT_A
IN AL, DX
MOV DX, AX
私はここにいくつかの質問を持っている私のようなものを持っています。 MOV DX, PORT_B
は効果的に何をしていますか? PORT_BのアドレスをDXに保存していますか?なぜそれはIN AH, DX
として単純に書くのではなく、ALのBの上位バイトを入力し、ALをAHに移動するのですか?
ポートAとポートBのアドレスに「0008h」と「000Ah」の選択肢がありますか?私は8085アセンブリでしか作業していませんでしたが、以前は0008h(0000 0000 0000 1000b)を選択していたとしたら、000A(0000 0000 0000 1010b)を選択しませんでした。A3ビットが重なってdは0001h(... 0001b)と0002h(... 0010b)を選択し、ビットが重ならないようにします。
これはかなり小さなコードサイズを与える
いくつかの点で間違って答えてください!私はあなたが他の答えのいずれかへの受け入れを変更することをお勧めします。 Fifoernikによる答えを示唆するかもしれません。それは最も完全なものです。最初に緑色のチェックマークをもう一度クリックして削除してから、正しい選択をしてください。 –