2011-02-07 29 views
0

こんにちは私はアセンブリコードを実行するためにFASMをダウンロードしました。FASMでアセンブリコードを実行するには

私はこの

Sum: 
push %ebp 
movl %esp, %ebp 
movl 8(%ebp), %ecx 
movl 12(%ebp), %edx 
xorl %eax, %eax 
testl %edx, %edx 
je .L34 

.L35: 
addl (%ecx), %eax 
addl $4, %ecx 
decl %edx 
jnz .L35 

.L34: 
movl %ebp, %esp 
popl %ebp 
ret 

のような小さなプログラムを書く必要がある問題は、私はFASMでそれを実行するかどうかは確認していないことを、私はどこかで何かか何かを含めると何をする必要がありますでしょうか?私のPCは64ビットであると私は何かをコンパイルするときにも、それは私にエラーを与えるが、私はそれが動作罰金。例の一つを..インポートする場合

はあなたの助け

よろしくありがとうござい

+0

エラーとは何ですか? – user470379

+1

"私は何かをコンパイルするとエラーが出る"私が得たエラーメッセージはおそらくあなたの問題を見つけるのにはかなり役に立つだろうと思う。あなたはあなたの質問にそれを含めるべきです。 – David

+0

FASMがそれを読むことができるように変更する必要がありました。 – earm

答えて

2

fasmはAT & T構文をサポートしていません。おそらく、いくつかの複雑なマクロでは、このようなサポートを追加することは可能ですが、パッケージで提供されるインクルードのどれもこの機能を提供しません。

あなたは私だけであなたのコードを翻訳します下に、マニュアルを参照してください余分なコードを追加して、フォーマットを指定する必要があります:

Sum: 
push ebp 
mov ebp, esp 
mov ecx, [ebp + 8] 
mov edx, [ebp + 12] 
xor eax, eax 
test edx, edx 
je .L34 

.L35: 
add eax, [ecx] 
add ecx, 4 
dec edx 
jnz .L35 

.L34: 
mov esp, ebp 
pop ebp 
ret 
+0

ありがとう、私に質問をさせてください。 – earm

+0

@earm:たぶん 'syscall'を実行しますか? – Jack

関連する問題