Answer from cs61c-aj (Kevin Li 15855812) for Question 4
memory-mapped io means that the input and output are operated with the help of memory. For example, keyboard inputs are written to registers and another registers will show whether the data is ready for another input or not and transfering input from keyboard to output uses another register. In a way the input and output of the keyboard and display is mapped and controlled using memory.

loop: li $t0, 0xffff0000
      li $t1, 1
      lw $t2, 0($t0)
      beq $t2, $t1, poll:
      j loop
poll: li $t3, 0xffff0004
      lbu $v0, 3($t3)
      j loop
