Arrays 如何跳回分支语句?
我在试图找出如何在Mips/Mars体系结构中实现这一点时遇到了很多困难 我正在制作一个战舰游戏,并将棋盘存储为一个可以容纳100整数的阵列 我需要在播放器的数组中循环,并将存储在每个“单元”中的信息转换为图形数据,以便向用户显示棋盘 我的问题源于这样一个事实,即显示给用户的字符是基于数组中每个单元格中的值 如果值为0(空)-打印“[]”,如果1(猜测并为空)打印-“[O]”,如果2(猜测并命中)打印-“[X]” 因此,当我循环遍历数组中的每个单元格时,我需要检查值并分支到适当的打印函数 我的问题是,如果我分支到print语句,如何跳回分支语句所在的位置 伪代码:Arrays 如何跳回分支语句?,arrays,assembly,return,mips,mars-simulator,Arrays,Assembly,Return,Mips,Mars Simulator,我在试图找出如何在Mips/Mars体系结构中实现这一点时遇到了很多困难 我正在制作一个战舰游戏,并将棋盘存储为一个可以容纳100整数的阵列 我需要在播放器的数组中循环,并将存储在每个“单元”中的信息转换为图形数据,以便向用户显示棋盘 我的问题源于这样一个事实,即显示给用户的字符是基于数组中每个单元格中的值 如果值为0(空)-打印“[]”,如果1(猜测并为空)打印-“[O]”,如果2(猜测并命中)打印-“[X]” 因此,当我循环遍历数组中的每个单元格时,我需要检查值并分支到适当的打印函数 我的问
Looping through array, 'ArrayCell' = value at current array location
branch if equal ArrayCell, 0, print empty
branch if equal ArrayCell, 1, print miss
branch if equal ArrayCell, 2, print hit
increment array
print empty:
print then jump back to loop
print miss:
print then jump back to loop
print hit:
print then jump back to loop
如何在打印后跳回分支语句以保留在数组中的位置
非常感谢 在
增量数组
操作符上方放置一个标签,并在打印空
、打印未命中
、和打印命中
、j
的末尾将其粘贴到标签上
例如:
Looping through array, 'ArrayCell' = value at current array location
branch if equal ArrayCell, 0, print empty
branch if equal ArrayCell, 1, print miss
branch if equal ArrayCell, 2, print hit
LBL_Increment:
increment array
loop
print empty:
print
j LBL_Increment
print miss:
print
j LBL_Increment
print hit:
print
j LBL_Increment
在
增量数组
操作符上方放置一个标签,并在打印空
、打印未命中
和打印命中
、j
的末尾将标签粘贴到标签上
例如:
Looping through array, 'ArrayCell' = value at current array location
branch if equal ArrayCell, 0, print empty
branch if equal ArrayCell, 1, print miss
branch if equal ArrayCell, 2, print hit
LBL_Increment:
increment array
loop
print empty:
print
j LBL_Increment
print miss:
print
j LBL_Increment
print hit:
print
j LBL_Increment
你真的应该用这个
Looping through array, 'ArrayCell' = value at current array location
if equal ArrayCell, 0, JAL empty
if equal ArrayCell, 1, JAL miss
if equal ArrayCell, 2, JAL hit
LBL_Increment:
increment array
loop
empty:
print " "
JR $RA // return to the instruction after the "JAL empty" instruction.
miss:
print "miss"
JR $RA
hit:
print "hit"
JR $RA
你真的应该用这个
Looping through array, 'ArrayCell' = value at current array location
if equal ArrayCell, 0, JAL empty
if equal ArrayCell, 1, JAL miss
if equal ArrayCell, 2, JAL hit
LBL_Increment:
increment array
loop
empty:
print " "
JR $RA // return to the instruction after the "JAL empty" instruction.
miss:
print "miss"
JR $RA
hit:
print "hit"
JR $RA
请格式化你的代码。请格式化你的代码。这很有意义。对不起,我对这个很陌生,想把头发扯下来。谢谢!我试试看,这很有道理。对不起,我对这个很陌生,想把头发扯下来。谢谢!我试试看。这是正确的答案。另一个可能会引导你找到所谓的意大利面密码。这是正确的答案。另一个可能会引导你找到所谓的意大利面代码。