Answer from cs61c-an (Ben Weil 16819970) for Question 4
memory-mapped io means that each register appears as a special memory location.  When information is typed into the console, it is written to a special memory location that the programmer cannot use that the processor uses to fetch data from the keyboard.

     li   $t0, 0xffff0000 #recv ctrl
     addi $t1, $t0, 4  #recv data
     addi $t2, $t1, 4  #trans ctrl
     addi $t3, $t2, 4  #trans data
     
poll:lw $t4, 0($t2)
     bne $t4, $0, write
     j poll
write: sw $v0, 0($t3)
       j poll 
