Code:
.file "main.cpp"
.version "01.01"
gcc2_compiled.:
.section .rodata
.LC0:
.string "Enter your first name: "
.LC1:
.string "Enter your last name: "
.LC2:
.string " "
.LC3:
.string " characters"
.LC4:
.string "Your first name has "
.LC5:
.string "Your last name has "
.LC6:
.string "Your name has a total of "
.text
.align 4
.globl main
.type main,@function
main:
.LFB1:
pushl %ebp
.LCFI0:
movl %esp, %ebp
.LCFI1:
subl $168, %esp
.LCFI2:
subl $8, %esp
pushl $.LC0
pushl $cout
.LCFI3:
call __ls__7ostreamPCc
addl $16, %esp
subl $8, %esp
leal -56(%ebp), %eax
pushl %eax
pushl $cin
call __rs__7istreamPc
addl $16, %esp
movl $0, -12(%ebp)
.p2align 2
.L3:
leal -56(%ebp), %eax
movl %eax, %edx
movl -12(%ebp), %eax
cmpb $0, (%eax,%edx)
jne .L5
jmp .L4
.p2align 2
.L5:
subl $12, %esp
leal -56(%ebp), %eax
movl %eax, %edx
movl -12(%ebp), %eax
movsbl (%eax,%edx),%eax
pushl %eax
call tolower
addl $16, %esp
movl %eax, -92(%ebp)
leal -56(%ebp), %eax
movl %eax, %edx
movl -12(%ebp), %eax
movb -92(%ebp), %cl
movb %cl, (%eax,%edx)
leal -12(%ebp), %eax
incl (%eax)
jmp .L3
.p2align 2
.L4:
subl $12, %esp
movsbl -56(%ebp),%eax
pushl %eax
call toupper
addl $16, %esp
movl %eax, -96(%ebp)
movb -96(%ebp), %al
movb %al, -56(%ebp)
movl $0, -16(%ebp)
subl $8, %esp
pushl $.LC1
subl $12, %esp
pushl $endl__FR7ostream
pushl $cout
.LCFI4:
call __ls__7ostreamPFR7ostream_R7ostream
addl $20, %esp
movl %eax, -100(%ebp)
pushl -100(%ebp)
.LCFI5:
call __ls__7ostreamPCc
addl $16, %esp
subl $8, %esp
leal -88(%ebp), %eax
pushl %eax
pushl $cin
call __rs__7istreamPc
addl $16, %esp
.p2align 2
.L6:
leal -88(%ebp), %eax
movl %eax, %edx
movl -16(%ebp), %eax
cmpb $0, (%eax,%edx)
jne .L8
jmp .L7
.p2align 2
.L8:
subl $12, %esp
leal -88(%ebp), %eax
movl %eax, %edx
movl -16(%ebp), %eax
movsbl (%eax,%edx),%eax
pushl %eax
call tolower
addl $16, %esp
movl %eax, -104(%ebp)
leal -88(%ebp), %eax
movl %eax, %edx
movl -16(%ebp), %eax
movb -104(%ebp), %cl
movb %cl, (%eax,%edx)
leal -16(%ebp), %eax
incl (%eax)
jmp .L6
.p2align 2
.L7:
subl $12, %esp
movsbl -88(%ebp),%eax
pushl %eax
call toupper
addl $16, %esp
movl %eax, -108(%ebp)
movb -108(%ebp), %al
movb %al, -88(%ebp)
subl $8, %esp
pushl $endl__FR7ostream
subl $12, %esp
leal -88(%ebp), %eax
pushl %eax
subl $12, %esp
pushl $.LC2
subl $12, %esp
leal -56(%ebp), %eax
pushl %eax
subl $12, %esp
pushl $endl__FR7ostream
pushl $cout
.LCFI6:
call __ls__7ostreamPFR7ostream_R7ostream
addl $20, %esp
movl %eax, -112(%ebp)
pushl -112(%ebp)
call __ls__7ostreamPCc
addl $20, %esp
movl %eax, -116(%ebp)
pushl -116(%ebp)
call __ls__7ostreamPCc
addl $20, %esp
movl %eax, -120(%ebp)
pushl -120(%ebp)
call __ls__7ostreamPCc
addl $20, %esp
movl %eax, -124(%ebp)
pushl -124(%ebp)
.LCFI7:
call __ls__7ostreamPFR7ostream_R7ostream
addl $16, %esp
subl $8, %esp
pushl $endl__FR7ostream
subl $12, %esp
pushl $.LC3
subl $12, %esp
pushl -12(%ebp)
subl $12, %esp
pushl $.LC4
subl $12, %esp
pushl $endl__FR7ostream
pushl $cout
.LCFI8:
call __ls__7ostreamPFR7ostream_R7ostream
addl $20, %esp
movl %eax, -128(%ebp)
pushl -128(%ebp)
call __ls__7ostreamPCc
addl $20, %esp
movl %eax, -132(%ebp)
pushl -132(%ebp)
call __ls__7ostreami
addl $20, %esp
movl %eax, -136(%ebp)
pushl -136(%ebp)
call __ls__7ostreamPCc
addl $20, %esp
movl %eax, -140(%ebp)
pushl -140(%ebp)
.LCFI9:
call __ls__7ostreamPFR7ostream_R7ostream
addl $16, %esp
subl $8, %esp
pushl $endl__FR7ostream
subl $12, %esp
pushl $.LC3
subl $12, %esp
pushl -16(%ebp)
subl $12, %esp
pushl $.LC5
pushl $cout
.LCFI10:
call __ls__7ostreamPCc
addl $20, %esp
movl %eax, -144(%ebp)
pushl -144(%ebp)
call __ls__7ostreami
addl $20, %esp
movl %eax, -148(%ebp)
pushl -148(%ebp)
call __ls__7ostreamPCc
addl $20, %esp
movl %eax, -152(%ebp)
pushl -152(%ebp)
.LCFI11:
call __ls__7ostreamPFR7ostream_R7ostream
addl $16, %esp
subl $8, %esp
pushl $endl__FR7ostream
subl $12, %esp
pushl $.LC3
subl $12, %esp
movl -16(%ebp), %eax
addl -12(%ebp), %eax
pushl %eax
subl $12, %esp
pushl $.LC6
pushl $cout
.LCFI12:
call __ls__7ostreamPCc
addl $20, %esp
movl %eax, -156(%ebp)
pushl -156(%ebp)
call __ls__7ostreami
addl $20, %esp
movl %eax, -160(%ebp)
pushl -160(%ebp)
call __ls__7ostreamPCc
addl $20, %esp
movl %eax, -164(%ebp)
pushl -164(%ebp)
.LCFI13:
call __ls__7ostreamPFR7ostream_R7ostream
addl $16, %esp
movl $0, %eax
leave
ret
.LFE1:
.Lfe1:
.size main,.Lfe1-main
.section .eh_frame,"aw",@progbits
__FRAME_BEGIN__:
.4byte .LLCIE1
.LSCIE1:
.4byte 0x0
.byte 0x1
.byte 0x0
.byte 0x1
.byte 0x7c
.byte 0x8
.byte 0xc
.byte 0x4
.byte 0x4
.byte 0x88
.byte 0x1
.align 4
.LECIE1:
.set .LLCIE1,.LECIE1-.LSCIE1
.4byte .LLFDE1
.LSFDE1:
.4byte .LSFDE1-__FRAME_BEGIN__
.4byte .LFB1
.4byte .LFE1-.LFB1
.byte 0x4
.4byte .LCFI0-.LFB1
.byte 0xe
.byte 0x8
.byte 0x85
.byte 0x2
.byte 0x4
.4byte .LCFI1-.LCFI0
.byte 0xd
.byte 0x5
.byte 0x4
.4byte .LCFI3-.LCFI1
.byte 0x2e
.byte 0x10
.byte 0x4
.4byte .LCFI4-.LCFI3
.byte 0x2e
.byte 0x14
.byte 0x4
.4byte .LCFI5-.LCFI4
.byte 0x2e
.byte 0x10
.byte 0x4
.4byte .LCFI6-.LCFI5
.byte 0x2e
.byte 0x14
.byte 0x4
.4byte .LCFI7-.LCFI6
.byte 0x2e
.byte 0x10
.byte 0x4
.4byte .LCFI8-.LCFI7
.byte 0x2e
.byte 0x14
.byte 0x4
.4byte .LCFI9-.LCFI8
.byte 0x2e
.byte 0x10
.byte 0x4
.4byte .LCFI10-.LCFI9
.byte 0x2e
.byte 0x14
.byte 0x4
.4byte .LCFI11-.LCFI10
.byte 0x2e
.byte 0x10
.byte 0x4
.4byte .LCFI12-.LCFI11
.byte 0x2e
.byte 0x14
.byte 0x4
.4byte .LCFI13-.LCFI12
.byte 0x2e
.byte 0x10
.align 4
.LEFDE1:
.set .LLFDE1,.LEFDE1-.LSFDE1
.ident "GCC: (GNU) 2.96 20000731 (Red Hat Linux 7.0)"
is all asm for: