Итак, я пишу MIPS-программу, скрывающую по Фаренгейту (ввод с клавиатуры) в вывод по Цельсию. Большая часть алгоритма обратного кодирования в основном закончена, но у меня проблема в том, что я не могу напечатать ввод и вывод в одной строке. Вывод, который я хочу:
Fahrenheit Celcius
x1 y1
x2 y2
....
Вместо этого я получил:
Fahrenheit Celcius
x1
y1
x2
y2
Так что это действительно меня расстраивает. Пожалуйста, помогите мне
main:
la $a0, fInput # message for input Fahrenheit
li $v0, 4
syscall
la $a0, tab #blankspace
li $v0, 4
syscall
la $a0, Cmess # Celcius message
li $v0, 4
syscall
li $s0, 11 #call 20
li $s1, 0 #call counter i
loop:
beq $s1, $s0, end
li $v0, 5 #user input Fahrenheit
syscall
move $t0, $v0
jal celcius
move $t4, $t3 #t4 = C now
la $a0, tab #blankspace
li $v0, 4
syscall
li $v0,1 #print Celcius result
move $a0, $t4
syscall
la $a0, newline #newline
li $v0, 4
syscall
addi $s1, $s1, 1 # i++
j loop
end:
li $v0, 10
syscall
celcius:
sub $t1, $t0, 32 #F - 32
mul $t2, $t1, 5 #5*(F-32)
div $t3, $t2, 9 #C = (5*(F-32))/9 t3 = C
jr $ra
.data
fInput: .asciiz "Fahrenheit: "
Cmess: .asciiz "Celcius: \n"
newline: .asciiz " \n"
tab: .asciiz " "
word: .space 51