我正在为学校进行作业,部分作业正在通过各种MIPS指令进行排序,并确定它们是否对常量或变量起作用。我的问题与地址有关。我正在阅读我的教科书,我无法弄清楚地址是否被认为是常量或变量。我想说这是一个变数,但我不能确定。如果有人能够证明这对我很有帮助。MIPS地址解释
Q
MIPS地址解释
0
A
回答
1
那么,给定上下文的用于在存储器中的指令通常的帧,一个通常认为指示自己是常量,尽管人们可以编写代码他们修改到其偶尔用于一些超优化目的的期望的效果—也用于病毒。不过,考虑到正常的情况下:
.data
array1: .space 12 # reserve 12 bytes for 3 integer array
.text
__start:
la $t0, array1 # load array address
li $t1, 5 # $t1 = 5 ("load immediate")
sw $t1, ($t0) # a[0] = 5
li $t1, 13 # $t1 = 13
addi $t0, t0, 4 # t0 = t0 + 4
sw $t1, ($t0) # a[1] = 13
li $t1, -7 # $t1 = -7
sw $t1, 4($t0) # a[2] = -7
done
因此,在该序列中,值5,图13,和-7是所述指令的一部分,并且通常被认为常数。另外,用于增加$ t0中地址指针的4也是一个常数。此外,一旦程序加载到内存中,array1
的地址是恒定的,因为它不会改变。但是,在程序加载之前,其地址是而不是已知:加载程序分配了两个程序段(.data和.text)的地址分配。
相关问题
- 1. 基本MIPS解释
- 2. C++指针地址解释
- 3. mips地址超出范围
- 4. 地址超出范围mips
- 5. 解释IP地址的术语使用
- 6. 用reintepret_cast解释对象地址
- 7. 如何解释IP地址块?
- 8. MIPS直接映射缓存。地址位
- 9. MIPS架构地址由ALU计算
- 10. MIPS如何转移到32位地址?
- 11. 计算MIPS上的分支地址
- 12. 参考地址 - 等距地区的英语解释
- 13. MIPS相对寻址
- 14. MIPS标签寻址?
- 15. MIPS寻址问题
- 16. 地址解析
- 17. 诠释地址由4
- 18. SQL地址解析
- 19. 宏解析地址
- 20. Excel:解析地址
- 21. 解析IPv6地址
- 22. C++:地址解引用和取消引用地址的地址
- 23. 解释App验证器输出:堆损坏或将堆栈地址误解为堆地址?
- 24. MIPS可以字节寻址
- 25. 1个IPv4地址有多少种可能的解释?
- 26. gdb将内存地址解释为对象
- 27. 如何解释此地址-0x80(%rbp,%rax,4)
- 28. 解释WEC7虚拟/物理地址空间
- 29. 使用联合来解释多个IP地址?
- 30. PE 101解释窗口API调用的地址
这是一个相当普遍的问题,因为措辞。你有* constant *和* variable *的定义吗?这些将有助于指导我们一个有用的答案。在非哈佛架构中,所有的内存都是可写的,因此在某种意义上是“可变的”。但从程序的角度来看,有“程序部分”(psects)是只读的,其他的是可读/写的。 – wallyk
因此,例如,确切的问题是关于指令“la”和问题状态“是否使用此指令加载常量或变量?”除此之外,我没有任何定义。 – Samuel
另一个我感兴趣得到回答的问题是伪指令的格式类型是否来自伪指令“引擎盖下”的格式? – Samuel