Draw a stack frame structure to show the caller frame

Assignment Help Computer Engineering
Reference no: EM13905679

1. Code to assembly #1

Write the assembly code for the following:

if (x < y)

y=x;

else

Assume:

y= y*32;

i. ‘x' and ‘y' addresses are stored in %ecx and %edx.

ii. Use registers %eax and %ebx to store ‘x' and ‘y' during computations.

iii. Use immediate for any constants.

2. Code to assembly #2

Write the assembly level program for the following:

if (a[1] == 0)
    a[2]++;

else

     if (a[2]!= 0)
          a[2+i] += a[i+1];

Assume:
1. Base address of integer array a is stored in %esp
2. The value of i is available in %ecx

3. Computing assembly code output. Computing condition codes.

Given the following state of the registers and memory:

Address

Value

 

Register

Value

0x309

0xFF

%al

0x99

0x30A

0x1

%ebx

0x30C

0x30B

0x2

%ecx

0xFFFFFFFF

0x30C

0x20

%dl

0xFF

 

 

%esp

0x1

The following instructions are executed sequentially:

cmpb %dl, %al jge L1
cmovl $EC, %al subb %dl, %al js L2
L1:
subb $3, %ebx L2:
addb (%ebx), %dl

Fill up the below table as follows:

• Cross out the instructions that are not executed (if any).
• After every instruction is executed, write the status of the condition codes and changes to any register or memory location in the adjacent columns.
• What are the final hexadecimal values of the registers %al, %ebx %ecx and %dl?

Instruction

CF

ZF

SF

OF

Your calculations to determine output of move, compare and arithmetic operations & changes to register/memory (if any)

cmpb %dl, %al

 

 

 

 

 

jge L2

 

 

 

 

 

cmovl $EC, %al

 

 

 

 

 

subb %al, %dl

 

 

 

 

 

js L1

 

 

 

 

 

L1:

subb $3, %ebx

 

 

 

 

 

L2:

addb (%ebx), %dl

 

 

 

 

 

 

4. Stack creation

Each time a new procedure is called, a new stack frame is created for that procedure. Assume that a procedure P calls procedure Q and a new stack frame has been created.

You are given the following information:

1. Q has two arguments:
   a. Argument 1 of type Integer
   b. Argument 2 of type Character
2. The stack frame for P begins at memory address 0x200.
3. The memory address of Argument 1 is 0x100

Questions:

1. Draw a stack frame structure to show the caller frame P and the called frame Q. Draw the following in this frame structure:
   a. The "top" and "bottom" of procedure P's stack
   b. The location and memory address of Arguments 1 & 2.
   c. The first value stored in the new stack frame (In hex). What does this value represent?
   d. The value in %ebp after Q's stack is created
2. Which register stores Q's frame pointer after the stack frame for Q is created?
3. What is the value stored in this register before the stack for Q was created?

Reference no: EM13905679

Questions Cloud

What is difference between a tax deduction and a tax credit : Why are some deductions called "above the line" deductions and others are called "below the line" deductions? What is the "line"? What is the difference between a tax deduction and a tax credit? Is one more beneficial than the other? Explain.
Determine the altitude of the plane : By the time the plane's sound detector perceives the horn's sound, the plane has traveled a distance equal to one half its altitude above the ocean. If it takes the sound 2.44 s to reach the plane, determine the altitude of the plane. Take the spe..
Preparing companys leading antibiotic drug-basic wage rate : Helena Montana is employed by Northern Laboratories and is directly involved in preparing the company's leading antibiotic drug. Helena's basic wage rate is $22 per hour. The company pays its employees time and a half (i.e. 150%) for any work in exce..
What is the frequency of the tuning fork : Find the first four harmonics of a hollow pipe 30 cm long, open at both ends. Let v_sound = 340 m/s.
Draw a stack frame structure to show the caller frame : Draw a stack frame structure to show the caller frame P and the called frame Q - Which register stores Q's frame pointer after the stack frame for Q is created and what is the value stored in this register before the stack for Q was created?
Conduct a partial usability analysis of rasmussen website : Conduct a partial usability analysis of the Rasmussen website. http://www.rasmussen.edu/ In 1 page, Describe two tasks that you believe students or potential students would want to perform on the site
Santa fe paid within the discount period : Santa Fe paid within the discount period. Assume that both buyer and seller use a perpetual inventory system.
Compute inventory by conventional retail inventory method : (Retail Inventory Method) Presented below is information related to Mantle Company. Compute the inventory by the conventional retail inventory method.
Measure the results and success of internet marketing plan : It's important to determine if the techniques you are implementing have the desired result. For this portion of your marketing plan, in 2 pages, What are the specific criteria you will use to measure the results and success of your Internet Marketi..

Reviews

Write a Review

Computer Engineering Questions & Answers

  Mathematics in computing

Binary search tree, and postorder and preorder traversal Determine the shortest path in Graph

  Ict governance

ICT is defined as the term of Information and communication technologies, it is diverse set of technical tools and resources used by the government agencies to communicate and produce, circulate, store, and manage all information.

  Implementation of memory management

Assignment covers the following eight topics and explore the implementation of memory management, processes and threads.

  Realize business and organizational data storage

Realize business and organizational data storage and fast access times are much more important than they have ever been. Compare and contrast magnetic tapes, magnetic disks, optical discs

  What is the protocol overhead

What are the advantages of using a compiled language over an interpreted one? Under what circumstances would you select to use an interpreted language?

  Implementation of memory management

Paper describes about memory management. How memory is used in executing programs and its critical support for applications.

  Define open and closed loop control systems

Define open and closed loop cotrol systems.Explain difference between time varying and time invariant control system wth suitable example.

  Prepare a proposal to deploy windows server

Prepare a proposal to deploy Windows Server onto an existing network based on the provided scenario.

  Security policy document project

Analyze security requirements and develop a security policy

  Write a procedure that produces independent stack objects

Write a procedure (make-stack) that produces independent stack objects, using a message-passing style, e.g.

  Define a suitable functional unit

Define a suitable functional unit for a comparative study between two different types of paint.

  Calculate yield to maturity and bond prices

Calculate yield to maturity (YTM) and bond prices

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd