Fermer2
ThibautLe 21/10/2007 à 10:35
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 ?