문제

MIPS 어셈블리 사용 사용자에게 정수를 입력하라는 메시지가 표시되면 어떻게 정수를 가져 와서 필요한 부품으로 분해 할 수 있습니까?

예시:

                 # User inputs a number
li  $v0, 5      # read value of n
    syscall

그런 다음 $ V0에 값을 임시 레지스터에 $ t0에 저장하고 각 부품으로 분해해야합니다. 따라서 308은 3, 0 및 8로 분해되어야합니다. 그런 다음 각 부분을 제곱하고 함께 추가 할 수 있도록이 작업을 수행해야합니다.

사용자의 입력 값은 정수로 입력해야합니다.

감사합니다, NMR

도움이 되었습니까?

해결책

이것은 @don의 대답입니다.

$ t0에는 사용자 입력이 포함되어 있습니다. (Asume 부호없는)

li   $t1,10
DIVU $t0,$t1 //divide by 10

mfhi $t2 //t2 contains the division result
mflo $t3 //t3 containts the division remainder

BEQ, BGT를 사용하여 비교를 수행하십시오.

도움

http://www.mrc.uidaho.edu/mrc/people/jff/digital/mipsir.html

다른 팁

10으로 나누고 나머지를 사용하여 8을 얻으십시오. Quotient가 0이 아닌 경우, 다시 10으로 나누고 나머지를 0으로 사용하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top