如何将字符串打印到没有操作系统的串口,以mips为单位

时间:2013-06-19 06:46:35

标签: mips boot

我们可以使用系统调用来打印带有spim的内容,例如:

    la, $a0, mes
    li, $v0, 4
    syscall

但在我tftp 0 file.binboot之后,它没有向串口打印任何内容。

在X86 int 10h中工作。

1 个答案:

答案 0 :(得分:2)

您必须知道目标系统上的串行端口接口。例如,如果Write ControlWrite Data寄存器位于0xFFFF00080xFFFF000C,因为它们位于SPIM中,您可以执行以下操作(未经测试):

la $a0, my_asciiz_string
li $a1, 0xFFFF0008

loop:
  lw $t0, ($a1)  # check if the serial port is ready to be written to
  beq $t0, $zero, loop
  nop

  lbu $t0,($a0)  # load one character from the string
  beq $t0,$zero,done
  nop

  addiu $a0,$a0,1
  sw $t0, 4($a1) # write the character to the serial port
  j loop
done: