私は、次のコードを持っていると私は59 mov dl,59
ASSEMBLYの59は何を表していますか?
printSeparator macro
mov ah,02h
mov dl,59
int 21h
endm
に何を表すのか分からない私は、配列の要素の合計を計算しなければならないが、キーボードから読み取ると、私は上記を必要とするソリューションを見ましたコードスニペット
私は、次のコードを持っていると私は59 mov dl,59
ASSEMBLYの59は何を表していますか?
printSeparator macro
mov ah,02h
mov dl,59
int 21h
endm
に何を表すのか分からない私は、配列の要素の合計を計算しなければならないが、キーボードから読み取ると、私は上記を必要とするソリューションを見ましたコードスニペット
マクロは、文字;
をSTDOUTに印刷します。
int 21h
は、AH
レジスタに基づいて特定の機能を持つDOS割り込みを呼び出します。この場合、DL
〜STDOUTの印刷文字である2
に設定されます。
あなたDL
レジスタ;
文字(http://www.asciitable.com/参照)ASCIIに対応する値59が取り込まれ(例えばhttp://spike.scu.edu.au/~barry/interrupts.html参照)。 ASCIIは数値(コンピュータが理解できる)から文字(人間が理解できる)までのマッピングです。これは文字エンコーディングとも呼ばれます。
リンクありがとうございます:) –
「dl」を登録するには、印刷する文字のASCIIをロードする必要があります。この場合はセミコロン ';'を表示します。 –
アセンブリ内の「59」は値「59」を表します。そのまわりのコードはサービス "DLの表示文字"を要求するDOSサービス 'int 21h 'を呼び出しているので、' 59'はASCIIエンコード文字として使用されます。 ASCIIエンコーディングテーブルをチェックすると、グリフ '; ''をエンコードするために' 59'の値が使われます。 – Ped7g
ありがとうございます! :) –