【问题标题】:How do you allocate an array so it starts at certain place in memory?如何分配一个数组,使其从内存中的某个位置开始?
【发布时间】:2009-10-13 12:26:51
【问题描述】:

如何分配一个数组以使其从内存中的某个位置开始?例如

    .data
array: 
    .space 400

会创建一个包含 100 个单词的数组,但我希望让数组从内存中的 5000 开始。我怎样才能做到这一点? (我记得在 intel asm 中这很容易)

编辑:我在 linux 中使用 spim。顺便说一句,这真的很重要吗?

【问题讨论】:

  • 你用的是什么汇编软件?

标签: assembly mips


【解决方案1】:

您使用的汇编器很重要,因为您要求的语法不是 MIPS 指令集的一部分,它是汇编器指令,因此是特定于汇编器的。

来自SPIM documentation

.data :后续项存储在数据段中。如果可选参数 addr 存在,则后续项目将从地址 addr 开始存储。

.space n 在当前段(必须是SPIM中的数据段)分配n字节空间。

因此,

    .data 5000
array: 
    .space 400

应该做你想做的。

【讨论】:

    猜你喜欢
    • 2018-01-06
    • 1970-01-01
    • 2020-08-08
    • 2021-08-26
    • 1970-01-01
    • 1970-01-01
    • 2017-09-19
    • 2015-07-22
    • 1970-01-01
    相关资源
    最近更新 更多