有人可以告诉我如何读取10字节长1字节的缓冲区?有人可以告诉我如何用1字节长的缓冲区读取10个字节?
我的编程环境是Ubuntu Linux操作系统,emacs的,大会在& T语法
我可以读取文件并保存读取数据缓冲(1字节)
,但我怎么能读取文件的下一字节并保存到缓冲区?
我编辑的内容粘贴我的努力
.section .data
.section .bss
.lcomm buffer,1
.section .text
.global _start
_start:
movl %esp,%ebp
subl $8,%esp
#8(%ebp) is 2nd arg == input
#12(%ebp) is 3rd arg == output
#open,read,open,write,close
movl $5,%eax
movl 8(%ebp),%ebx
movl $0,%ecx
movl $0666,%edx
int $0x80
#%eax contains input's fd
#movl to first local var
movl %eax,-4(%ebp)
movl $5,%eax
movl 12(%ebp),%ebx
movl $03101,%ecx
movl $0666,%edx
int $0x80
#eax contains output's fd
#movl to second local var
movl %eax,-12(%ebp)
#read 1 byte from file 1st byte of data
movl $3,%eax
movl -4(%ebp),%ebx
movl $buffer,%ecx
movl $1,%edx
int $0x80
#read 1 byte from file I expect 2nd byte of data
movl $3,%eax
movl -4(%ebp),%ebx
movl $buffer,%ecx
movl $1,%edx
int $0x80
#buffer contains 1 byte of file
subb $48, buffer
movl buffer,%ebx
movl $1,%eax
int $0x80
使用C会不会更容易?或者失败了,从汇编代码中调用'read()'? – 2011-03-27 06:54:16
感谢您的回复。 但我想在汇编中实现。 ,因为它很好理解它是如何工作的 – 2011-03-27 06:56:30
为什么你不先努力? – 2011-03-27 07:00:29