Ubuntu11.04 の NASM で 2 つの入力数値を取り、合計を生成するプログラムを作成しました。プログラムは次のとおりです。
section .data
msg1: db "the numbers are:%d%d",0
msg3: db "REsult= %d",10,0
section .bss
a resd 1
b resd 1
sum resd 1
section .text
global main
extern printf,scanf
main:
;; push ebp
;; mov ebp,esp
;; sub esp,10
push a
push b
push msg1
call scanf
add esp,12
mov eax,DWORD[a]
add eax,DWORD[b]
mov DWORD[sum],eax
push DWORD[sum]
push msg3
call printf
add esp,8
;; mov esp,ebp
;; pop ebp
ret
私がここで犯した間違いを見つけるのを手伝ってくれませんか?また、Vedio であれテキストであれ、NASM のチュートリアルについて教えていただければ幸いです。Art of Assembly Language または NASM マニュアルを入手しました。しかし、1 つ目は NASM に基づいておらず、2 つ目は私のような初心者には入手が困難です。
ありがとう