这是MIPS的示例程序。我使用的是MARS 4.5,我启用了设置 - >如果已定义,则将程序计数器初始化为全局“main”。但是,当我试图组装时,它说在行.globl main上,“main”声明了全局标签但未定义。我不确定如何解决它?
-------宏定义-----
# Macro : print_str
# Usage: print_str(<address of the string>)
.macro print_str($arg)
li $v0, 4 # System call code for print_str
la $a0, $arg # Address of the string to print
syscall # Print the string
.end_macro
# Macro : print_int
# Usage: print_int(<val>)
.macro print_int($arg)
li $v0, 1 # System call code for print_int
li $a0, $arg # Integer to print
syscall # Print the integer
.end_macro
# Macro : exit
# Usage: exit
.macro exit
li $v0, 10
syscall
.end_macro
------数据段定义----
.data
str: .asciiz "Enter="
-----代码段定义----
.text
.globl main
Main: print_str(str)
print_int(54)
exit
答案 0 :(得分:1)
你有一个错字。您使用Main:
代替main:
。它有所作为。
旁注:很高兴看到使用宏的mips问题。