문제
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으로 사용하십시오.
제휴하지 않습니다 StackOverflow