MIPS“main”声明了全局标签但未定义

时间:2016-09-20 18:21:07

标签: mips

这是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

1 个答案:

答案 0 :(得分:1)

你有一个错字。您使用Main:代替main:。它有所作为。

旁注:很高兴看到使用宏的mips问题。