我正在尝试学习更好地理解汇编程序
有人可以解释以下代码中的 .data、.word 和 .text 的含义吗?
我不明白这是做什么的以及在这种情况下它的作用
.data
array:
.word 0x12121212, 0x23232323, 0x34343434, 0x4, 0x5
.text
add_array:
li x1, 0x10000000
add x3, x0, x0
lw x2, 0(x1)
add x3, x3, x2
lw x2, 4(x1)
add x3, x3, x2
lw x2, 8(x1)
add x3, x3, x2
lw x2, 12(x1)
add x3, x3, x2
lw x2, 16(x1)
add x3, x3, x2
Run Code Online (Sandbox Code Playgroud)
.word本质上是在内存中创建一些空间来保存数据。它后面的每一项都是 4 个字节长。它类似于创建数组:
集会
array:
.word 0x12121212, 0x23232323, 0x34343434, 0x4, 0x5
Run Code Online (Sandbox Code Playgroud)
C
int array[] = {0x12121212, 0x23232323, 0x34343434, 0x4, 0x5};
Run Code Online (Sandbox Code Playgroud)
.text告诉汇编器切换到文本段(代码所在的位置),并.data告诉汇编器切换到数据段(数据所在的位置)。
| 归档时间: |
|
| 查看次数: |
21136 次 |
| 最近记录: |