繁体   English   中英

MIPS组件中for循环中的双重条件

[英]Double condition in a for loop in MIPS assembly

我想在MIPS汇编中实现这些循环,但无法解决如何检查双重条件的问题:

for(i=0;i<dim&&dim>1;++i)


for(k=1;k<dim&&j!=i;++k)

i=$t0
dim=$a0
k=$t1

管理。 供以后参考,以了解其操作方法:

if ( i == j && i == k ) // if ( <cond1> && <cond2> )
i++ ; // if body
else 
j-- ; // else body $s2 
j = i + k ;

bne $s1, $s2, ELSE # cond1: branch if !( i == j )
bne $s1, $s3, ELSE # cond2: branch if !( i == k )
addi $s1, $s1, 1 # if-body: i++
j NEXT # jump over else
ELSE: addi $s2, $s2, -1 # else-body: j--
NEXT: add $s2, $s1, $s3 # j = i + k

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM