.data
x: .long 2
r: .long 27
.text
.globl _start
_start:
pushl x
movl $0,%eax
call func
addl $4,%esp
movl %eax,r
movl r,%ebx
movl $1,%eax
int $0x80
.type func, @function
func:
pushl %ebp
movl %esp,%ebp
movl 8(%ebp),%eax
cmpl $0,%eax
jle if
jmp else
if: movl %ebx,%eax
jmp endif
else: addl %eax,%ebx
subl $1,%eax
pushl %eax
call func
addl $4,%esp
endif: movl %ebp,%esp
popl %ebp
ret
Run Code Online (Sandbox Code Playgroud)
上面你看到我试图运行的程序.我把它归结为最后一个错误,我似乎无法找到答案.错误消息如下:
test.s:19:1: error: unknown directive
.type func, @function
^
Run Code Online (Sandbox Code Playgroud)
我使用gcc -m32 test.s和编译它在Macintosh 10.9.1上ggc -c test.s.我浏览谷歌寻找答案,但我似乎找不到任何答案.这是AT&T的语法.
| 归档时间: |
|
| 查看次数: |
2968 次 |
| 最近记录: |