新手关于mips中遇到的问题
.data
array1: .space 80
array2: .space 120
array3: .space 80
str1: .asciiz "please enter the No."
str2: .asciiz "number "
str3: .asciiz " "
str4: .asciiz "enter finished "
如果把array3的声明放在最下面,运行时会出现exception4和5(代码段中有对array3取值和存值)
查了一下,感觉和mips的地址对齐有关,
1,是因为str1到4占了地址,导致没有对齐吗
2,对于数据段中第一个数据,其保存的地址是什么啊
3,给我讲一下mips的地址对齐有关的知识
谢谢了
1a: .word -12
这条指令。是分配一个word类型的空间给变量a,并初始化成-12。其具体的地址,在编程的时候“不知道”。必须在整个汇编程序汇编完之后,连接,并可能“重定位”,这些变量的地址才会真正知道。
编译时,开发工具通常都会生成类似于“.map”和“.lst”之类的文件,里面会有详细的变量和函数之类的地址信息。具体文件,得查阅MIPS汇编程序开发工具的相关手册(抱歉,我手边没有)。
有问题继续交流,谢谢。
热门标签: