sr,-(a7)
move.l gray_function,-(a7)
rts
clavier_natif_handler_1_suite:
move.l save_int_1,-(a7)
rts
J'ai oublié beaucoup de choses avec le temps et je ne comprends plus ce code dans les sources d'Einstein 3.1 :clavier_natif_handler_1:
pea clavier_natif_handler_1_suite(pc)
move
Pourquoi faut-il pousser le registre de statuts ? Pourquoi je poussais les adresses des fonctions avant de faire un RTS ? il ne suffit pas d'un JMP ?
Ce code est appelé par la première interruption automatique. Il est sensé lancer la routine d'affichage en niveaux de gris, puis la routine d'AMS qui est associée à l'int 1 en temps normal (car grayon est appelé après avoir rempalcé l'int 1 par un DUMMY_HANDLER, donc je dois la lancer manuellement).
Pourquoi ça plante ?