2012-05-03 4 views
0

예를 들어,이 번호 A0090000 (16)을 MIPS의 부호없는 10 진수로 인쇄하려고합니다. 그래서 인쇄 결과는 2684944384 (10)이어야합니다. 그러나 서명 된 숫자를 인쇄하는 어셈블리 코드 만 알고 있기 때문에 막혔습니다.MIPS의 부호없는 정수를 10 진수로 인쇄하려면 어떻게해야합니까?

코드는 다음과 같이이다 : 그 코드 대신 '5'의 A0090000 (16) 값을 넣어한다면

li $v0, 1 #System call code for print_int 
li $a0, 5 #integer to print 
syscall 

, 그것이 마이너스 진수 값을 출력합니다 (MSB이기 때문에 1) -1610022912 (10) 이지만 결과는 2684944383 (10)이고 부호없는 숫자로 읽으려고합니다.

어떻게하면됩니까?

답변

0

값을 10 (부호없는)으로 연속적으로 나누고 문자열의 시작 부분에 나머지 자리의 숫자를 추가하여 숫자의 숫자로 문자열을 역순으로 채 웁니다. 그런 다음 문자열을 인쇄하십시오.

+0

감사합니다. 효과가있는 –

관련 문제