Инструкция MIPS BGT - PullRequest
       17

Инструкция MIPS BGT

0 голосов
/ 03 июля 2018

Я пытаюсь создать простую программу в MIPS, однако я уже застрял в начале, я хочу, чтобы программа обнаружила, вводит ли пользователь число больше 5000, но программа, похоже, просто пропускает "bgt" инструкция! Также я не уверен, как использовать инструкцию "li", эти 2 проблемы могут быть связаны! Заранее спасибо

 .data
 #Donnees textes
 lenombre: .space 32

 top: .word 5000
 msgerreur: .asciiz "\nLe nombre est invalide"
 msg: .asciiz "\nEntrer un nombre de 1 à 5000:"
 #segment de la mémoire contenant le code
.text
main:
  li $v0, 4
  la $a0, msg
syscall
  li $v0, 5
  sw $v0, lenombre
  j chiffre

#fonction chiffre
chiffre:
  li $t1, 4
  lw $t1, lenombre
  li $t2, 4
  lw $t2, top
  bgt $t1, $t2, erreur
  j main

erreur:
  li $v0, 4
  la $a0, msgerreur
  j main

1 Ответ

0 голосов
/ 03 июля 2018

Я решил это, удалив переменную «lenombre» и просто сохранив введенный номер в регистр $ t0. Похоже, MIPS считает, что «lenomre» - это строка, как я определил ее ранее, поэтому сравнение не работает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...