00000000 : 0: lea 0x4(%esp),%ecx 4: and $0xfffffff0,%esp 7: pushl -0x4(%ecx) a: push %ebp b: mov %esp,%ebp d: push %ebx e: push %ecx f: sub $0x10,%esp 12: mov %ecx,%ebx 14: movl $0x0,-0xc(%ebp) 1b: movl $0x1,-0x10(%ebp) 22: jmp 48 24: mov -0x10(%ebp),%eax 27: lea 0x0(,%eax,4),%edx 2e: mov 0x4(%ebx),%eax 31: add %edx,%eax 33: mov (%eax),%eax 35: sub $0xc,%esp 38: push %eax 39: call 3a 3e: add $0x10,%esp 41: add %eax,-0xc(%ebp) 44: addl $0x1,-0x10(%ebp) 48: mov -0x10(%ebp),%eax 4b: cmp (%ebx),%eax 4d: jl 24 4f: mov -0xc(%ebp),%eax 52: lea -0x8(%ebp),%esp 55: pop %ecx 56: pop %ebx 57: pop %ebp 58: lea -0x4(%ecx),%esp 5b: ret Command line arguments are passed to int main(int argc, char** argv) as arguments argc and argv. You should assume that argc is at ebp+8 and argv is at ebp+12. This code returns the following value from main (in register eax): Question options: 1) product of the command line arguments 2) sum of the command line arguments 3) number of characters in the command line arguments 4) how many command line arguments were provided
00000000 : 0: lea 0x4(%esp),%ecx 4: and $0xfffffff0,%esp 7: pushl -0x4(%ecx) a: push %ebp b: mov %esp,%ebp d: push %ebx e: push %ecx f: sub $0x10,%esp 12: mov %ecx,%ebx 14: movl $0x0,-0xc(%ebp) 1b: movl $0x1,-0x10(%ebp) 22: jmp 48 24: mov -0x10(%ebp),%eax 27: lea 0x0(,%eax,4),%edx 2e: mov 0x4(%ebx),%eax 31: add %edx,%eax 33: mov (%eax),%eax 35: sub $0xc,%esp 38: push %eax 39: call 3a 3e: add $0x10,%esp 41: add %eax,-0xc(%ebp) 44: addl $0x1,-0x10(%ebp) 48: mov -0x10(%ebp),%eax 4b: cmp (%ebx),%eax 4d: jl 24 4f: mov -0xc(%ebp),%eax 52: lea -0x8(%ebp),%esp 55: pop %ecx 56: pop %ebx 57: pop %ebp 58: lea -0x4(%ecx),%esp 5b: ret Command line arguments are passed to int main(int argc, char** argv) as arguments argc and argv. You should assume that argc is at ebp+8 and argv is at ebp+12. This code returns the following value from main (in register eax): Question options: 1) product of the command line arguments 2) sum of the command line arguments 3) number of characters in the command line arguments 4) how many command line arguments were provided
Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
Related questions
Question
00000000 <main>:
0: lea 0x4(%esp),%ecx
4: and $0xfffffff0,%esp
7: pushl -0x4(%ecx)
a: push %ebp
b: mov %esp,%ebp
d: push %ebx
e: push %ecx
f: sub $0x10,%esp
12: mov %ecx,%ebx
14: movl $0x0,-0xc(%ebp)
1b: movl $0x1,-0x10(%ebp)
22: jmp 48 <main+0x48>
24: mov -0x10(%ebp),%eax
27: lea 0x0(,%eax,4),%edx
2e: mov 0x4(%ebx),%eax
31: add %edx,%eax
33: mov (%eax),%eax
35: sub $0xc,%esp
38: push %eax
39: call 3a <main+0x3a>
3e: add $0x10,%esp
41: add %eax,-0xc(%ebp)
44: addl $0x1,-0x10(%ebp)
48: mov -0x10(%ebp),%eax
4b: cmp (%ebx),%eax
4d: jl 24 <main+0x24>
4f: mov -0xc(%ebp),%eax
52: lea -0x8(%ebp),%esp
55: pop %ecx
56: pop %ebx
57: pop %ebp
58: lea -0x4(%ecx),%esp
5b: ret
0: lea 0x4(%esp),%ecx
4: and $0xfffffff0,%esp
7: pushl -0x4(%ecx)
a: push %ebp
b: mov %esp,%ebp
d: push %ebx
e: push %ecx
f: sub $0x10,%esp
12: mov %ecx,%ebx
14: movl $0x0,-0xc(%ebp)
1b: movl $0x1,-0x10(%ebp)
22: jmp 48 <main+0x48>
24: mov -0x10(%ebp),%eax
27: lea 0x0(,%eax,4),%edx
2e: mov 0x4(%ebx),%eax
31: add %edx,%eax
33: mov (%eax),%eax
35: sub $0xc,%esp
38: push %eax
39: call 3a <main+0x3a>
3e: add $0x10,%esp
41: add %eax,-0xc(%ebp)
44: addl $0x1,-0x10(%ebp)
48: mov -0x10(%ebp),%eax
4b: cmp (%ebx),%eax
4d: jl 24 <main+0x24>
4f: mov -0xc(%ebp),%eax
52: lea -0x8(%ebp),%esp
55: pop %ecx
56: pop %ebx
57: pop %ebp
58: lea -0x4(%ecx),%esp
5b: ret
Command line arguments are passed to int main(int argc, char** argv) as arguments argc and argv. You should assume that argc is at ebp+8 and argv is at ebp+12.
This code returns the following value from main (in register eax):
Question options:
|
|
||
|
|
||
|
|
||
|
|
Expert Solution
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
Step by step
Solved in 2 steps
Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Recommended textbooks for you
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education