第1个回答 2011-06-04
直接用汇编写输入输出?下面是我用c写的,在linux下得到的汇编代码:
.text
.globl main
.type main, @function
main:
pushl %ebp
movl %esp, %ebp
andl $-16, %esp
subl $32, %esp
movl $9999, (%esp)
call malloc
movl %eax, 20(%esp)
movl $0, 28(%esp)
call getchar
movb %al, 27(%esp)
jmp .L2
.L3:
movl 28(%esp), %eax
addl 20(%esp), %eax
movzbl 27(%esp), %edx
movb %dl, (%eax)
addl $1, 28(%esp)
call getchar
movb %al, 27(%esp)
.L2:
cmpb $36, 27(%esp)
jne .L3
subl $1, 28(%esp)
jmp .L4
.L5:
movl 28(%esp), %eax
addl 20(%esp), %eax
movzbl (%eax), %eax
movsbl %al,%eax
subl $1, 28(%esp)
movl %eax, (%esp)
call putchar
.L4:
cmpl $0, 28(%esp)
jns .L5
movl 20(%esp), %eax
movl %eax, (%esp)
call free
leave
ret
.size main, .-main