MIPS : bug avec l'option -notrap

Le problème exposé dans ce sujet a été résolu.

Édit : il fallait utiliser .globl __start

Salut,

je commence à apprendre le MIPS, un langage assembleur et je suis confronté à un bug que je ne comprends pas. Voilà mon code de test :

1
2
3
4
5
6
7
main:
  li $a1, 1
  li $a2, 1
  slt $a0, $a1, $a2
  li $v0, 1
  syscall
  jr $ra

quand je compile ça avec spim -file test.spi, il m'affiche bien 0.

Par contre, si je veux utiliser l'option notrap de spim pour gérer moi-même le label __start, j'ai une erreur. Voilà le code :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
main:
  li $a1, 1
  li $a2, 1
  slt $a0, $a1, $a2
  li $v0, 1
  syscall
  jr $ra

__start:
  jal main
  li $v0, 10
  syscall

et voici ce que me répond spim -notrap -file test.spi :

1
2
3
Exception occurred at PC=0x00000000
  Bad address in text read: 0x00000000
Attempt to execute non-instruction at 0x80000180

J'ai loupé quelque chose ?

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte