section .data
num1 dd 10 ; 一つ目の数値
num2 dd 5 ; 二つ目の数値
result dd 0 ; 結果
section .text
global _start
_start:
; 一つ目の数値をレジスタにロードする
mov eax, [num1]
; 二つ目の数値をレジスタにロードする
mov ebx, [num2]
; 乗算を実行する
mul ebx
; 結果を変数に保存する
mov [result], eax
; 結果を表示する
mov eax, 4
mov ebx, 1
mov ecx, result
mov edx, 4
int 0x80
; プログラムを終了する
mov eax, 1
xor ebx, ebx
int 0x80
このプログラムでは、num1
とnum2
という2つの数値を定義し、result
という変数を用意しています。mov
命令を使用して、数値をレジスタにロードし、mul
命令で乗算を実行します。乗算の結果はeax
レジスタに格納されます。その後、mov
命令を使用してresult
変数に結果を保存し、最後に結果を表示します。
このプログラムをアセンブルし、リンクし、実行すると、コンソールに「50」という結果が表示されます。