我正试图用MIPS汇编语言使用MARS模拟器弄湿我的脚.
我现在的主要问题是如何初始化一组内存位置,以便稍后通过汇编语言指令访问它们?
例如,我想初始化地址0x1001000 - 0x10001003,其值为0x99,0x87,0x23,0x45.我认为这可以在我的汇编程序的数据声明(.data)部分完成,但我不确定语法.这可能吗?
或者,在.data部分中,如何指定将整数值存储在某个内存位置(我不在乎哪里,但我只想在某处引用它们).所以我正在寻找C等价于"int x = 20,y = 30,z = 90;" 我知道如何使用MIPS指令,但是可以在MIPS汇编程序的.data部分声明类似的内容吗?
您通常不会初始化特定的内存位置; 每个部分(包括.data)都位于链接时,然后解析重定位
要对数据条目进行重定位,请选择一个名称并放在其name:前面,以便稍后通过名称引用它.您可以使用指定数据块.size value.例如:
.data
x: .word 20
y: .word 30
z: .word 90
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用程序集中的标签:
.text
lw $t0, x
Run Code Online (Sandbox Code Playgroud)