- 论坛徽章:
- 0
|
回复 #11 jelly2172000 的帖子
.file "a.c"
.text
.globl low
.type low, @function
low:
pushl %ebp
movl %esp, %ebp
subl $24, %esp
movl 8(%ebp), %eax
movb %al, -20(%ebp)
cmpb $96, -20(%ebp)
jle .L2
cmpb $122, -20(%ebp)
jg .L2
movzbl -20(%ebp), %eax
subb $32, %al
movb %al, -1(%ebp)
jmp .L1
.L2:
movsbl -20(%ebp),%eax
movl %eax, -24(%ebp)
.L1:
movl -24(%ebp), %eax
leave
ret
.size low, .-low
.globl main
.type main, @function
main:
leal 4(%esp), %ecx
andl $-16, %esp
pushl -4(%ecx)
pushl %ebp
movl %esp, %ebp
pushl %ecx
subl $4, %esp
movl $101, (%esp)
call low
movsbl %al,%eax
movl %eax, (%esp)
call putchar
movl $0, %eax
addl $4, %esp
popl %ecx
popl %ebp
leal -4(%ecx), %esp
ret
.size main, .-main
.ident "GCC: (GNU) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)"
.section .note.GNU-stack,"",@progbits |
|