是的,它需要三个参数寄存器加一个系统电话号码...
但是,x86具有pusha和popa,它将在一条指令中推送和弹出所有寄存器.
$ cat hwa.S
write = 0x04
exit = 0xfc
.text
_start:
pusha
movl $1, %ebx
lea str, %ecx
movl $len, %edx
movl $write, %eax
int $0x80
popa
xorl %ebx, %ebx
movl $exit, %eax
int $0x80
.data
str: .ascii "Hello, world!\n"
len = . -str
.globl _start
$ as -o hwa.o hwa.S
$ ld hwa.o
$ ./a.out
Hello, world!
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
260 次 |
| 最近记录: |