Как читать и печатать целое число? - PullRequest
0 голосов
/ 01 мая 2019

Этот код продолжает печатать 1 независимо от того, что я печатаю, и я не знаю, почему.

.text
    .globl __start
__start:

li $v0,5
syscall         # read number

li $v0,1
syscall                 #print number

li $v0, 10
syscall

.data

1 Ответ

0 голосов
/ 03 мая 2019

Вот ваш код, поэтому он работает правильно, если вы используете mars, вы можете перейти на вкладку справки, где будет показан список системных вызовов и их использование.

  • 5 вызовов для ввода пользователя
  • 1 печатает целое число / число с плавающей запятой
  • , с которым необходимо установить регистр $ a0, чтобы он мог распечатать его, используется инструкция перемещения

.text
.globl__start __start:

li $ v0,5 syscall # номер чтения

move $ t0, $ v0 #temp регистр может использовать $ a0, если вы хотите здесь

li $ v0, 1 ход $ a0, $ t0 # a0 используется для системного вызова в качестве аргумента, который будет напечатан в этом случае syscall #print number

li $ v0, 10 системных вызовов

.data

...