Ask Question, Ask an Expert

+1-415-315-9853

info@mywordsolution.com

Ask Computer Engineering Expert

Part A:  Bitwise Logical and Shift Operations

Create a SPARC assembly language program that extracts a bit-field from the contents of register %l0. The position of the rightmost bit of the field is indicated in register %l1, and the number of bits in the field is indicated in register %l2. The extracted field should be put into register %l3, right-shifted so that field starts at bit 0; any bits outside of the extracted field should be set to 0. Structure your program so that it operates on 3 separate inputs, each with different input data, field positions, and field widths. Your TA will provide the inputs to work with. Do not hard code any bit masks; your program should create them using the appropriate bitwise operations. Optimize your program, eliminating nop instructions where possible. Do not use m4.

Use printf() to display in hexadecimal the contents of registers %l0, %l1, %l2 before each extraction, and %l3 afterwards. Also run your program in gdb, displaying the contents of registers %l0, %l1, %l2 before each extraction, and %l3 afterwards. Capture the gdb session using script. On a separate piece of paper, show the bit pattern for each hexadecimal number for the registers %l0 and %l3, circling the extracted field.

Part B:  Integer Multiplication using Add and Shift Operations

prepare a SPARC assembly language program that implements the following integer multiplication algorithm:

negative = multiplier >= 0 ? 0 : 1;
product = 0;
for (i = 0; i < 32; i++) {
    if (multiplier & 1)
        product += multiplicand;
    (product and multiplier registers combined as a unit) >> 1;
}
if (negative)
    product -= multiplicand;


Structure your program so that it shows 3 different multiplications: the first should multiply two positive numbers together, the second should multiply a positive number by a negative number, and the third should multiply two negative numbers together. Your TA will provide the input data to work with. Since we don’t yet know how to create subroutines, you can simply cut and paste the multiplication code to do each multiplication.

Use printf() to display in hexadecimal the contents of the product, multiplier and multiplicand registers before and after each multiplication. Optimize your program, eliminating nop instructions where possible. Do not use m4. Also run the program in gdb, displaying the contents of key registers as the program executes; you should show that the algorithm is working as expected. Capture the gdb session using script. On a separate piece of paper, show the bit pattern (binary number) for each hexadecimal number, and its decimal equivalent (in other words, show the binary and decimal values of the multiplier, multiplicand, and product).

Other Requirements
:

Make sure your code is properly formatted into columns, is readable and fully documented, and includes identifying information at the top of each file. You must comment each line of assembly code. Your code should also be well designed: make sure it is well organized, clear, and concise. Your TA will specify the inputs to use for the above two programs.

Computer Engineering, Engineering

  • Category:- Computer Engineering
  • Reference No.:- M91804

Have any Question? 


Related Questions in Computer Engineering

Prove that the magnitude of determinant of a unitary

Prove that the magnitude of determinant of a unitary transform is unity. Also show that all the eigenvalues of a unitary matrix have unity magnitude Show that the entropy of an N x 1 Gaussian random vector u with mean p. ...

Implement a queue as a linked linear list such that it only

Implement a queue as a linked linear list such that it only occupies an amount of space proportional to the current queue size

1 the binary search tree operations can also be implemented

1. The binary search tree operations can also be implemented iteratively. Design and implement an iterative solution for each operation: (a) search (b) find minimum (c) insert (d) delete 2. Design and implement the funct ...

Suppose that bob is a client that connects to alice which

Suppose that Bob is a client that connects to Alice, which is an SSL server. Assume Bob creates a message = EB (rec, H(rec, MB)) and sends it to Alice. How does Alice process the arrived message? Does this system provide ...

1 please explain the standard file permissions in the linux

1). Please explain the Standard file permissions in the Linux. And also explain the different types of permissions. (Elaborate your Answers with examples and also run commands in the Linux machine). 2). Why chgrp & chown ...

Alternative matrixdesign alternatives have to be thoroughly

Alternative Matrix Design alternatives have to be thoroughly considered. There must be a process to fairly evaluate the pros and cons of each option. Let's look at how the alternative matrix can help facilitate the desig ...

Using 5-bit sequence numbers what is the maximum size of

Using 5-bit sequence numbers, what is the maximum size of the send and receive windows for each of the following protocols? a. Stop-and-Wait b. Go-Back-N c. Selective-Repeat

Internet technology project executiion ip3project execution

Internet Technology Project Executiion IP3 Project Execution IP3 Unit: Project Execution Deliverable Length: New content of 3-4 pages All sources should be cited both in-text and in References using APA format; with supp ...

1 write a program to plot the string hello using only lines

1. Write a program to plot the string "HELLO", using only lines and circles. Do not call drawString, and do not use System.out. Make classes LetterH, LetterE, LetterL, and LetterO. 2. Write a program that displays the Ol ...

1 what is security auditing why is it necessary for system

1. What is security auditing? Why is it necessary for system security? 2. What are the differences between security monitoring and auditing? Which is better? 3. What is risk? What is the purpose of calculating risk when ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Section onea in an atwood machine suppose two objects of

SECTION ONE (a) In an Atwood Machine, suppose two objects of unequal mass are hung vertically over a frictionless

Part 1you work in hr for a company that operates a factory

Part 1: You work in HR for a company that operates a factory manufacturing fiberglass. There are several hundred empl

Details on advanced accounting paperthis paper is intended

DETAILS ON ADVANCED ACCOUNTING PAPER This paper is intended for students to apply the theoretical knowledge around ac

Create a provider database and related reports and queries

Create a provider database and related reports and queries to capture contact information for potential PC component pro

Describe what you learned about the impact of economic

Describe what you learned about the impact of economic, social, and demographic trends affecting the US labor environmen