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

  Shiny buttons game

Write a public void cleanTable() method in the ShinyGame class that causes all selected sequences of game pieces to be removed from the game board and add a private score integer attribute to the ShinyButtons model class. Create a getScore() method..

  Write pseudocode using modularization

The Census Bureau has collected data about all of its employees. You will be given a data file which contains the GS number ( rating) for each employee, one per input record. A number of 1000 signifies the end of the data file.

  Find the min-term expansions

Find the min-term expansions for X, Y, and Z (i.e. the standard SOP expression of each). Use short-hand notation in your final answer (e.g. Sum of min-terms (1, 4, 6)).

  That penalties for intellectual property infringement such

q. that penalties for intellectual property infringement such as illegal movie downloads should be increased to protect

  Developing the circuitry for class project

If number is divisable by 4 or 5, number has to be a multiple of 2 in order to generate an output. If the number is devisable by 3, it has to be a multiple of 3 and 5 to generate an output.

  Assess the product by using the five-step plan which is

imagining yourself to be the customer construct a house of quality to provide the organization with your perspectives

  Calculate distance between adjacent cars

Calculate distance between adjacent cars and maintain a constant speed  - Report status to control station

  How to calculate the cost of 1 mbyte of main memory

how to Calculate the cost of 1 MByte of main memory.

  Make use of a constructor to initialize employee information

make use of a constructor to initialize employee information. A payroll program that calculates the employees weekly pay after employee's name, hourly rate, and number of hours worked.

  Write a java application that creates an instance

Write a Java application that creates an instance of the String class and initializes this instance with a String literal. Use a for loop structure to print the string in reverse order. Implement the following two String member methods to complete..

  Writenbspa 700- to 1050-word paper discussing managerial

writenbspa 700- to 1050-word paper discussing managerial issues associated with managing an organizations is

  Questiona computer has 16 pages of virtual address space

questiona computer has 16 pages of virtual address space except only four physical pages. firstly physical memory is

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