您好我下载了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中运行它,我是否需要在某处或某处包含某些内容?我的电脑是一个64位,当我编译它给我一个错误,但如果我导入其中一个例子它工作正常。,..
感谢您的帮助
此致
答案 0 :(得分: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