我的代码的目标是模仿cat程序。它需要输入,然后将其吐出。 如:
$ Hi how are you
$ Hi how are you
$ good
$ good
发生的事情是:
$ Hi how are you
$ Hi how are you
$ good
$ good
$ow are you
我的字符串没有从我的缓冲区中删除,因此如果输入第二次更短,它将吐出未写入的额外字符。我想知道是否有人知道如何清除缓冲区,所以这不会发生。感谢
.file "rand.c"
.section .data
.buffer:
.space 10
.len:
.space 1
.globl _start
_start:
pushl %ebp
movl %esp, %ebp
andl $-16, %esp
subl $16, %esp
loop:
movl $3, %eax
movl $1, %ebx
movl $.buffer, %ecx
movl $100, %edx
int $0x80
movl $4, %eax
movl $1, %ebx
movl $.buffer, %ecx
movl $100, %edx
int $0x80
jmp loop
movl $1, %eax
movl $0, %ebx
int $0x80