Mips Assembly Language

Need help with this question or any other Computer Science homework assignment task or project?

Ask A Question

Mips Assembly Language

Viewed 27


For this homework, you wish to write a robotic arm controller. The controller has one arm and one motor

for each of the five fingers (we will refer to the pinky as finger 0 and the thumb as finger 4, with others in

order). Our hardware uses a scheme called memory-mapped I/O, whereby the hardware interprets accesses

to particular memory locations as signals to the hardware device. In this case, the following I/O operations

(and more) are supported:

• Initialize: write a 0 to memory location 0xABCD1230. This will also close all fingers completely.

• Ready: Every initialization operation must be followed by this (once) to ensure that the arm is ready

to receive commands. The arm sets bit 5 of memory location 0xABCD1234 after it has initialized all

its motors and it is ready to receive instructions. In other words, the program must wait for this bit

to become 1.

• Open finger k by .01 radians: set bit k (0 <= k <= 4) of memory location 0xABCD1234. You may assume

that the upper 16 bits (i.e.,k>=16) do not map to any I/O devices (and may thus be corrupted as you


Due to mechanical issues, successive openings of the same finger must be separated by at least 4 ms., to

avoid motor slippage.

As mentioned in class, the only branch-related instructions you can use this semester are beq, bne, j, slt,

and slti.


Draw a CFG and write a MIPS program to open the thumb and middle and index fingers completely (i.e.,3.14

radians). To ensure smooth motion, the program will open each arm by .01 radians at a time instead of

opening one finger completely and then the next. Since we don’t have a way to implement time delays, you

can simply write delay 4 to indicate a delay of 4 ms.

Submissions without a CFG will not be graded.

This order does not have tags, yet.

Additional Instructions

No uploads for this question



No answers posted

Post your Answer - free or at a fee

Login to your account tutor account to post an answer

Posting a free answer earns you +20 points.


To get help with a similar task to Mips Assembly Language, Ask for Computer Science Assignment Help online.