• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アセンブラ、ファンクションコールの使い方)

アセンブラ、ファンクションコールの使い方

このQ&Aのポイント
  • アセンブラを使用して、ファンクションコールを作成する方法について教えてください。
  • MASM 32環境で、一文字を読み取り改行して表示するプログラムを作成していますが、表示されません。アドバイスをいただけますか?
  • 質問者は、アセンブラとファンクションコールに関してアドバイスを求めています。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

文字出力(ah=2)のファンクションコールは AXレジスタを破壊するようです ah=1で読み込んでから 別の破壊されないレジスタにALを保存するか スタックにプッシュしておいて改行を行い 保存したレジスタまたはスタックからデータを取り出して表示させましょう mov ah, 2 int 21H # ここでスタックにプッシュ push ax mov ah,2 mov dl,0dh int 21H mov ah,2 mov dl,0a int 21H # スタックからポップ pop ax mov ah,2 mov dl,al int 21H といった具合でしょう

yasu182
質問者

お礼

>文字出力(ah=2)のファンクションコールは AXレジスタを破壊するようです 本には書いてなかったんですが 気付かなかったのは経験不足ですね。 他のレジスタに保存して解決です。 プッシュの方法も書いて頂き勉強になりました。 回答ありがとうございました。