私はまだ x86 アセンブリに頭を悩ませているので、6 と 7 を乗算し、データを EAX に移動して結果を出力するこの小さなプログラムを作成しました。正常にコンパイルされ、正常に実行されますが、42 を出力する代わりに、42 番目の ASCII 文字を出力します。私はこのフォーラムで 1 文字の数字を印刷する方法を持っていますが、今は複数桁の数字を印刷する方法を理解する必要があります。これが私のコードです:
.386
.model flat, stdcall
option casemap :none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\masm32.inc
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\masm32.lib
.data
adrs dd 0
.code
start:
mov eax, 6
mov ebx, 7
imul eax, ebx
add eax, 48
mov adrs, eax
invoke StdOut, addr adrs
invoke ExitProcess, 0
end start
要約すると、データを個々の文字に分割して印刷できるようにする方法を理解する必要があります。どんな助けでも素晴らしいでしょう。
よろしく、
プログラム