Как правильно загрузить значение с плавающей запятой из пространства памяти? Почему этот код не дает ожидаемых результатов? - PullRequest
1 голос
/ 29 апреля 2019

Я хочу загрузить число с плавающей запятой, которое хранится в ячейке памяти.В данном случае это aSpace, bSpace и one.Если я загружаю, например, один ПЕРЕД запросом ввода данных от пользователя, он загружается правильно, как «1.0».Хотя, если я загружаю его ПОСЛЕ ввода пользователя, он загружается как любой пользовательский ввод на его последнем вводе.Фактически, каждый загруженный поплавок делает это.Что я здесь не так делаю?

Я пытался изменить порядок операций, запускать их построчно, почти все.Я не могу понять эти результаты.

.data
    aSpace:     .float
    bSpace:     .float
    one:        .float      1

.text
    la $a0, aSpace
    jal floatInput

    la $a0, bSpace
    jal floatInput

    lwc1 $f12, one
    jal floatPrint
    lwc1 $f4, aSpace
    lwc1 $f6, bSpace
    jal floatPrint
    j exit

##################################################

return:
    jr $ra


floatPrint:
    li, $v0, 2
    syscall
    j return

floatInput:
    li $v0, 6
    syscall
    swc1 $f0, ($a0)
    syscall
    j return

exit:
li, $v0, 10
syscall

Я ожидал загрузить значение в «один», но вместо этого я загружаю все, что было введено пользователем.

1 Ответ

0 голосов
/ 29 апреля 2019

Как сказали Джестер и Питер Кордес, у меня проблема с aSpace: .float вместо aSpace: .float 0.0. Fixed

...