assembly - 获取地址未在字边界 0x00000002 上对齐
问题描述
我试图从结构中加载 .word,但是当我尝试运行程序时,它显示错误“获取地址未在字边界 0x00000002 上对齐”。不明白,因为我看过一个朋友的代码,它对她有用。该代码使用以下结构:
.data
pantalla:
.word 0
.word 0
.space 1024
campo:
.word 0
.word 0
.space 1024
pieza_actual:
.word 0
.word 0
.space 1024
pieza_actual_x:
.word 0
pieza_actual_y:
.word 0
imagen_auxiliar:
.word 0
.word 0
.space 1024
pieza_jota:
.word 2
.word 3
.ascii "\0#\0###\0\0"
.space 1016
pieza_ele:
.word 2
.word 3
.ascii "#\0#\0##\0\0"
.space 1016
pieza_barra:
.word 1
.word 4
.ascii "####\0\0\0\0"
.space 1016
pieza_zeta:
.word 3
.word 2
.ascii "##\0\0##\0\0"
.space 1016
pieza_ese:
.word 3
.word 2
.ascii "\0####\0\0\0"
.space 1016
pieza_cuadro:
.word 2
.word 2
.ascii "####\0\0\0\0"
.space 1016
pieza_te:
.word 3
.word 2
.ascii "\0#\0###\0\0"
.space 1016
(它们不是我的,这些是老师创建的结构)。这是显示错误的功能,更具体地说是粗体
imagen_copy:
addiu $sp,$sp,-4
sw $ra,0($sp)
move $t6,$a0 #figura 1
move $t7,$a1 #figura 2
**lw $t0,0($t6) #anchura pieza 1
lw $t1,0($t6) #altura pieza 1
lw $t2,0($t7) #anchura pieza 2
lw $t3,0($t7) #altura pieza 2**
li $t4,0 #variable y=0
For_1_copy:
bge $t4,$t3,fin_for_1_copy
li $t5,0 #variable x=0
For_2_copy:
bge $t5,$t2,fin_for_2_copy
move $a0,$t7
move $a1,$t5
move $a2,$t4 #entradas de la función
addiu $sp,$sp,-36 #9*4=36
sw $t0,0($sp)
sw $t1,4($sp)
sw $t2,8($sp)
sw $t3,12($sp)
sw $t4,16($sp)
sw $t5,20($sp)
sw $t6,24($sp)
sw $t7,28($sp)
sb $t8,32($sp)
jal imagen_get_pixel
lw $t0,0($sp)
lw $t1,4($sp)
lw $t2,8($sp)
lw $t3,12($sp)
lw $t4,16($sp)
lw $t5,20($sp)
lw $t6,24($sp)
lw $t7,28($sp)
lb $t8,32($sp)
addiu $sp,$sp,36
move $a0,$t6
move $a1,$t5
move $a2,$t4
move $a3,$t8
addiu $sp,$sp,-36
sw $t0,0($sp)
sw $t1,4($sp)
sw $t2,8($sp)
sw $t3,12($sp)
sw $t4,16($sp)
sw $t5,20($sp)
sw $t6,24($sp)
sw $t7,28($sp)
sb $t8,32($sp)
jal imagen_set_pixel
lw $t0,0($sp)
lw $t1,4($sp)
lw $t2,8($sp)
lw $t3,12($sp)
lw $t4,16($sp)
lw $t5,20($sp)
lw $t6,24($sp)
lw $t7,28($sp)
lb $t8,32($sp)
addiu $sp,$sp,36
addiu $t5,$t5,1
j For_2_copy
fin_for_2_copy:
addiu $t4,$t4,1
j For_1_copy
fin_for_1_copy:
lw $ra,0($sp)
addiu $sp,$sp,4
jr $ra
解决方案
推荐阅读
- pgadmin-4 - pgadmin4:创建 SSH 隧道失败(在 W10 上)
- c# - 从代码隐藏中正确使用新实例化的用户控件
- c# - 在 C# winform 中删除运行时生成的控件
- r - 忽略R中列顺序的数据框的行频
- python - 如何从图形生成二维数组(里面有逗号)
- aws-codebuild - ANSI 颜色 AWS CodeBuild 终端输出
- tableau-api - 如何切换 Tableau 数据源上的连接
- javascript - 如何在单击时呈现不同的组件?(组件应替换为最新的单击处理程序。)
- c++ - 试图在 C++ 中“模糊”矩阵;有缺陷的算法或代码?
- angular - 不使用 .expand() 的 rxjs 观察者分页模式?