【问题标题】:MIPS Printing a LabelMIPS 打印标签
【发布时间】:2017-10-08 13:31:43
【问题描述】:

我现在开始使用 Mars 编码 在 Assembly 中,我编写了以下代码,但出现错误。任何想法为什么?

.text
main:
    la $ao,Pat
    li $sv0,4
    syscall
    li $vo,10
    syscall


.data
    Pat:.asciiz "My name is Patricia"

如果在“.text”之前或“.data”之后有一些具体的东西要写,也有人可以解释一下。

【问题讨论】:

  • 我得到的错误是:C:\Users\Patricia\Documents\mars\print.asm 第 3 行第 2 列中的错误:“la”:操作数太少或格式不正确。预期:la $t1,($t2)
  • $ao、$sv0 或 $vo 都不是有效的寄存器名称。修正你的拼写。

标签: printing label mips


【解决方案1】:
.text
main:
    la $a0,Pat
    li $v0,4
    syscall
    li $v0,10
    syscall


.data
    Pat:.asciiz "My name is Patricia"

首先v0 是告诉汇编器要打印什么的主要内容。由于您要打印整数,v0 需要为 1。其他类似的情况也是如此:

float : 2
double : 3
word , string : 4

给出指令后,您可以通过仅将值放入 a0 (为此保留)来打印。

所以现在代码会给你结果: Code run result 在您的代码的前面部分,sv0 是写在某些地方而不是0。 :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-15
    • 1970-01-01
    相关资源
    最近更新 更多