Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

This is a C code conversion to MIPS assembly language question. #include #include // leaf function - convert decimal to binary in string void toBinary(int

This is a C code conversion to MIPS assembly language question.

#include  #include  
// leaf function - convert decimal to binary in string void toBinary(int num, char strNum[]) 

{ int i;

 for(i = 7; i >= 0; i--){ // index 7 is the LSB (bit-0) int rem = num & 0x01; // retrieve remainder num = num >> 1; // shift right by 1 bit (== divide by 2) 
} } strNum[i] = '0' + rem; // ascii '0' is decimal 48, '1' is 49 
// non-leaf function  convert decimal (negative) to 2s complement in string void twosComplement(int num, char strNum[]) 
{ int i, absolute, carry; 
 absolute = abs(num); 
 toBinary(absolute, strNum); // call toBinary for absolute value (positive) printf("absolute value = %s ", strNum); 
 // flip, complement for(i = 7; i >=0; i--){ 
 if(strNum[i] == '0') elsestrNum[i] = '1'; 
 } strNum[i] = '0'; printf("1's complement = %s ", strNum); 
 // add 1 for(i = 7, carry = 1; i >=0 && carry; i--){ // if carry is 0, stop!! 
 int sum = (strNum[i] - 48) + carry; // ascii '0' is decimal 48, '1' is 49 
 strNum[i] = '0' + (sum & 0x01); // logical and } carry = (sum >> 1) & 0x01; // shift right by 1 bit (divide by 2) & logical and 
 printf("2's complement = %s ", strNum); } 

int main()

{ char Binary[10] = ""; int num; 
 printf("Enter a number: "); scanf("%d", &num); 
 if(num > 127 || num  
printf("Out of Range for 8-bit singed Binary"); 

return 0; }

 if(num >= 0) // positive or 0 toBinary(num, Binary); 
 else // negative to two's complement twosComplement(num, Binary); 
 printf("%d's 8-bit Binary Representation is %s ",num , Binary); 

return 0; }

Then how do convert this to MIPS language by satisfying these requirements?

image text in transcribed

o Write a non-leaf function to convert a negative integer number to 2's complement in string Two parameters: integer number, string array or pointer "Get absolute value of the negative number Call a function that you implement from part l Flip each binary bit of the string (do 1's complement): '0' f-> 1' - Add 1 to LSB Repeat adding a carry to higher bit

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Main Memory Database Systems

Authors: Frans Faerber, Alfons Kemper, Per-Åke Alfons

1st Edition

1680833243, 978-1680833249

More Books

Students also viewed these Databases questions

Question

Brief the importance of span of control and its concepts.

Answered: 1 week ago

Question

What is meant by decentralisation?

Answered: 1 week ago