나는 사용자로부터 연속적으로 정수를 취하여 최소값을 $ s2에 저장하는 코드를 작성하려고합니다. If-Else with MIPS 어셈블리
이
내가 기본적으로if ($s2 == 0)
$s2 = $t0
else {
if ($t0 < $s2)
$s2 = $t0
}
을하려고하고 무엇을 C 코드를 표현, I는 입력 루프의 제로 외부와 $ S2를로드. 이것은 $ s2가 0인지 검사하고 최소값이기 때문에 현재 (첫 번째) 사용자 입력 ($ t0)으로 설정합니다. $ s2가 더 이상 0을 포함하지 않으면 $ s2에 이미 들어있는 것과 새로운 사용자 입력을 검사하고 그것이 더 작은 경우 새로운 최소값이됩니다.
MIPS 어셈블리에서 어떻게 구현할 수 있습니까?
나는 지금까지 이것을 가지고있다. (이것은 읽기라는 루프의 끝 부분이다.)하지만 첫 번째 int를 누르면 끝까지 건너 뛰고 반복하지 않고 min을 출력한다.
read:
...
beq $s2, $zero, LOAD
slt $s6, $t0, $s2
bne $s6, $zero, LOAD
j read
LOAD:
li $s2, 0
addu $s2, $s2, $t0