QTSPIM говорит мне c .gt.s $ f0, $ f1 имеет синтаксическую ошибку (указывает на .s) - PullRequest
0 голосов
/ 19 апреля 2020

Это мой код, и в c .gt.s $ f0, $ f1 есть синтаксическая ошибка, указывающая на s, но это число с плавающей запятой одинарной точности, поэтому оно должно быть c .gt .с. Что я тут не так делаю?

.data 

numA: .float 10.5
numB: .float 12.3

.text
.globl main
main:
    la $t0, numA
    la $t1, numB
    lwc1 $f0, 0($t0)
    lwc1 $f1, 0($t1)
    c.gt.s $f0, $f1
    bc1t swap
    li $v0, 10
    syscall

swap:
    swc1 $f0, 0($f3) #f3 is temp
    swc1 $f1, 0($f0)
    swc1 $f3, 0($f0)
    jr $ra

1 Ответ

0 голосов
/ 19 апреля 2020

Я нашел обходной путь. Не уверен, почему c .gt.s не работает, но c .lt.s работает, а lwc1 и swc1 пришлось поменять местами с ls и mov.s соответственно.

.data 

numA: .float 12.5
numB: .float 10.3

.text
main:
    l.s $f0, numA
    l.s $f1, numB
    c.lt.s $f1, $f0
    bc1t swap
    li $v0, 10
    syscall

swap:
    mov.s $f3, $f0 #f3 is temp
    mov.s $f0 $f1
    mov.s $f1, $f3
    li $v0, 10
    syscall
...