dsl ma question n'était pas précise
dsl ma question n'était pas précise
D'abord, tous les micro-processeurs, spécialement s'ils sont anciens, ne disposent pas d'une instruction de division. Ensuite, il faut bien distinguer le micro-processeur en lui-même de l'infrastructure sur laquelle il est utilisé. Donc, première question :
– Tu travailles sur quelle machine ? (à base de 68000 bien sûr) ;
Dans cet esprit, écrire un message ne relève pas à proprement parler du 68000 lui-même. Cela dépend de la machine (ton micro-processeur peut très bien être utilisé dans un système embarqué ni disposant ni d'un clavier ni d'un écran). Ça veut dire que quand le 68000 va se retrouver dans cette situation, il va déclencher une « exception », c'est-à-dire qu'il va se mettre en état d'interruption en suivant le bon vecteur, donc appeler une routine dont l'adresse est localisée en mémoire à un emplacement fixe et défini par le constructeur du CPU. En l'occurrence, c'est l'exception numéro 5 dont le vecteur est en $14 (hexadécimal) :
http://www.atarimagazines.com/v5n3/E...nterrupts.html
Il faut donc déposer dans les octets d'adresse $14 à $17 l'adresse sur 32 bits de la routine gérant la division par zéro. Si ta machine ne te permet pas d'y écrire directement (ROM), il faut vérifier si elle n'a pas mis en place une indirection autre part (dans les spécifications de ta machine et pas du CPU) ou un appel système dédié permettant de placer un hook.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager