2 개의 정수를 읽고, 출력을 플로트로 나누는 프로그램이 있습니다. 예 : 2/3 = 0.66666666. 나는 다음과 같은 프로그램을 썼다.2 개의 정수를 읽고 나누어서 float 출력을 얻는 MIPS 코드?
.data
prompt1: .asciiz "Enter x: "
prompt2: .asciiz "Enter y: "
floatzero: .float 0.0
.text
main:
l.s $f4, floatzero
li $v0, 4
la $a0, prompt1
syscall
li $v0, 6
syscall
add.s $f12 , $f0 , $f4
li $v0, 4
la $a0, prompt2
syscall
li $v0, 6
syscall
add.s $f14, $f0, $f4
li $v0 , 2
div.s $f16, $f12, $f14
syscall
li $v0, 10
syscall
지금 나는 다음과 같은 의문을 가지고 : 1. 2/3 것이 출력을 보여주는 것은 2.0000000이다. 0.66666666을 얻으려면 어떻게해야합니까?
입력 값을 $ v0에서 일부 $ f2로 직접 이동하는 데 사용할 수있는 방법이 있습니까? 여기 add.s를 사용하고있다. ?
정수로 입력을 가져올 수없는 이유는 정수형 (예 : $ a1)으로 저장 한 다음 부동 소수점 형식으로 답변을 저장하도록 나누는 이유는 무엇입니까?
P. 이것은 나의 숙제이지만, 나는 그것을 해결하기 위해 이와 같은 기본 개념이 필요하다. 도와주세요.
미리 감사드립니다.