【问题标题】:how to declare and initialize an integer variable如何声明和初始化一个整数变量
【发布时间】:2013-04-08 00:16:13
【问题描述】:

我想在 MIPS(Assembly) 中声明一些变量并初始化它们。我正在解析一个 C 文件。我像这样初始化变量:

.data

.text
.globl main

    .align 2
a:      .space 4

main:

#Exit
li $v0,10
syscall

但我不知道如何初始化变量 a。我尝试使用 li、la、add、addi 等,但没有任何效果。 我希望我的程序记住变量 a 的值。如果我有 5 个或 10 个变量怎么办? 我的意思是记住是这样的(在 C 中):

int a;
int b;
int c;
int d;
int e;
int f;
a=10;
b=10;
c=a+b;
b=b-5;
d=b+c;
e=d+a;
printf("e value is %d\n",e);

这就是我所说的记住价值观的意思..

【问题讨论】:

    标签: c variables assembly integer initialization


    【解决方案1】:
    main:
      #...
      la $a0, a
      li $a1, 1234 # The value you need
      sw $a1, 0($a0)
      #...
    

    此外,您的变量必须在 .data 部分中:

    .data
    
    .align 2
    a: .space 4
    
    .text
    # ...
    

    【讨论】:

    • 但是我的程序怎么能记住变量a的值呢?
    • 从一次执行到下一次执行?您需要存储在外部设备中,例如文件
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多