Does anyone know MIPS assembly?
How do i remove any leading and trailing zeros from a number?
I am learning about loading and storing bytes.
given a number like 000011, or 001111000, or 11100, I have to print it without the leading/trailing zeros
ex: 0011100 -> 111
the numbers are stored in a buffer " .space 20 "
what I have done so far is starting from the right side of the number 001100, find the first nonzero number and then store the rest of the numbers to a new buffer.
number is now: 1100
Then from the right side of the new number, find the first nonzero, and store the rest to a new buffer.
number is now: 11
BUT the problem is if i print the new buffer,it will still print out trailing zeros because the buffer is too big.
how do I make a buffer just big ENOUGH to fit the number without the zeros?
am i overthinking this? Is there a MIPS function or shortcut that can do this for me?
please help!
thanks!
>>59202929
I don't know MIPS. But I know C.
And the solution would be:
- if it's a 32bit val 00011100, identify the offset to the first 1, and then bitshift it left e.g. 00011100 << 3 = 11100000
- if it was a string "0011100", move the pointer -3, "111000"
>>59202929
https://www.cs.umd.edu/class/sum2003/cmsc311/Notes/Mips/bitshift.html
thank you for contacting /g/ - homework help