Answered step by step
Verified Expert Solution
Question
1 Approved Answer
How do I convert this C-code to MIPS Assembly language? #include #include // leaf function - convert decimal to binary in string void toBinary(int num,
How do I convert this C-code to MIPS Assembly language?
#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 <= -128) {
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; }
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started