How to use use as in linux with assembly language -


i studying linux kernel, have read assembly code. here sample code


syswrite=4 .globl mywrite,myadd .text mywrite:     pushl %ebp     movl %esp,%ebp     pushl %ebx     movl 8(%ebp),%ebx     movl 12(%ebp),%ecx     movl 16(%ebp),%edx     movl $syswrite,%eax     int $0x80     popl %ebx     movl %ebp,%esp     popl %ebp     ret  myadd:     pushl %ebp     movl %esp,%ebp     movl 8(%ebp),%eax     movl 12(%ebp),%edx     xorl %ecx,%ecx     addl %eax,%edx     jo 1f     movl 16(%ebp),%eax     movl %edx,(%eax)     incl %ecx 1:       movl %ecx,%eax     movl %ebp,%esp     popl %ebp     ret 

i use in way
"as -o callee.o callee.s"

to compile it,but fails message saying
"callee.s|5| error: suffix or operands invalid `push'"

you're on 64-bit machine, as defaults 64-bit. since have 32-bit code, want use:

as -32 -o callee.o callee.s 

Comments