私はアセンブリにかなり慣れていないので、この質問に答えるには曖昧すぎる場合、またはより多くの情報を含める必要がある場合はお知らせください。
基本的に、私はいくつかの情報をdl
レジスターに保存しています。、、、およびレジスタにもeax
、保持したい値が格納されています。他のレジスタの値を変更せずにレジスタを画面に表示するにはどうすればよいですか?ebx
ecx
dl
使用も試しましたが、使用int 21h
中にセグメンテーション違反が発生します。
作業している環境によって、表示しようとしているものをどのように表示できるかが決まります。割り込みはint 21h
DOSサービスであるため、DOS環境(たとえば、DOSがロードされていない純粋なBIOS環境)で作業していない限り、使用できません。この場合、int 10h
ビデオサービスを確認する必要があります-たとえばint 10h AX=0Ah
。
他のレジスタの値を保持する限り、これは出力の表示方法によって異なります。上記のint 10h AX=0Ah
サービスでは、、、、およびレジスタを使用する必要がありますAH
-このサービスを使用するには、値を、から移動する必要があり、レジスタを他の場所に移動する必要があります-おそらく他のレジスタに移動するか、特定のメモリ位置に格納するか、または設定しますスタックをアップしてingし、値を表示した後、値をレジスタに戻します。AH
BH
BL
CX
EAX
EBX
ECX
PUSH
POP