Java How To Program (Early Objects) (10th Edition)
Java How To Program (Early Objects) (10th Edition)
10th Edition
ISBN: 9780133807806
Author: Paul J. Deitel, Harvey Deitel
Publisher: PEARSON
Students have asked these similar questions
Match each of the assembler routines on the left with the equivalent C function on the right. Write the name of the label (e.g., foo) to the right of the corresponding function. Note: shrq is the logical right shift instruction, and sarq is the arithmetic right shift instruction. foo1: leaq 0(,%rdi, 8), %rax long choice1 (long x) { ret return x - 8 >8; foo3: } movq sarq %rdi, %rax $8, %rax long choice4 (long x) ret { return x*256; } foo4: long choice5 (long x) leaq -8 (%rdi), %rax { ret return x-8; } long choice6 (long x) foo5: { leaq -8 (%rdi), %rax return x+8; shrq $63, %rax } ret
Given the variables and code in the text below, identify where in memory they will live once the code is compiled. 1 char big_array [1L<<24]; /* 16 MB */ 2 GB * :/ 2 char huge_array [1L<<31]; /* 3 4 int global = 0; 5 6 int useless () { return 0; } 7 8 int main() 9 { 10 void *p1, p2, *p3, *p4; int local = 0; malloc (1L << 28); /* 256 MB *, 11 12 p1 13 p2 = malloc (1L << 8); /* 256 B * 14 p3 15 p4 = malloc (1L << 32); malloc (1L << 8); /* 4 GB * */ /* 256 B */ 16 } Note: *pN is the thing at which pN points. 1. big_array 2. huge_array 3. global 4. useless 5. void* p1 6. *p1 7. void* p2 8. *p2 9. void* p3 10. *p3 11. void* p4 12. *p4
The next problem concerns the following C code: /copy input string x to buf */ void foo (char *x) { char buf [8]; strcpy((char *) buf, x); } void callfoo() { } foo("ZYXWVUTSRQPONMLKJIHGFEDCBA"); Here is the corresponding machine code on a Linux/x86 machine: 0000000000400530 : 400530: 48 83 ec 18 sub $0x18,%rsp 400534: 48 89 fe mov %rdi, %rsi 400537: 48 89 e7 mov %rsp,%rdi 40053a: e8 di fe ff ff callq 400410 40053f: 48 83 c4 18 add $0x18,%rsp 400543: c3 retq 400544: 0000000000400544 : 48 83 ec 08 sub $0x8,%rsp 400548: bf 00 06 40 00 mov $0x400600,%edi 40054d: e8 de ff ff ff callq 400530 400552: 48 83 c4 08 add $0x8,%rsp 400556: c3 This problem tests your understanding of the program stack. Here are some notes to help you work the problem: ⚫ strcpy(char *dst, char *src) copies the string at address src (including the terminating '\0' character) to address dst. It does not check the size of the destination buffer. • You will need to know the hex values of the following characters:
Knowledge Booster
Background pattern image
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education