2つの8ビットレジスタを一緒に追加して結果を出力します。私はレジスタCLとCHを追加したいと思います。私は、ECXに-1275を設定しました。これらの2つのレジスタを引くと結果がどのようになるか見たいのですが、どうしたらいいですか?PutIntを使用してレジスタCLから印刷するには
これは私が書いたものですが、13行目でオペコードとオペランドの無効な組み合わせを示すエラーが表示されます。なぜ私はPutIntを使ってCLから印刷できないのですか?私は何をする必要がありますか?
%include "io.mac"
.STACK 100H
.DATA
msg4 db "The result is: ",0
.CODE
.STARTUP
mov ECX,1111101100000101b
PutStr msg4 ; print msg4 on the output
add CL, CH ; Add results
PutInt CL ; output int from register CL <-- line 13
nwln
done:
.EXIT
'PutInt'はx86アセンブリ命令ではありません。それはある種のマクロのように見えます。使用しているマクロのドキュメントを確認するか、コードを表示する必要があります。 'PutInt'マクロが他のすべてのマクロが展開された状態で十分に短い場合は、関連するコードで質問を編集してください。ところで、CPUの状態をチェックするためにデバッガを使用するのではなく、初心者のためにデバッグ出力を混乱させるのは非常に一般的ですが、CPUの実際の状態は実際とは異なります。 – Ped7g
明らかに、それはいくつかの本と一緒に行くマクロパッケージです:https://stackoverflow.com/questions/21169375/unable-to-open-include-file-io-mac-assembly –