jvernet a écrit :destroyedlolo a écrit :
On charge l'accus depuis ... le vide
l'accus prend donc une valeur NUL.
J'espere juste que mes explications etaient claires
NUL n'a pas d'existence dans un microprocesseur
. Et charger arbitrairement un registre avec une valeur (0, je suppose) peut poser problème.
Heu, je ne decrit pas le fonctionnement d'un emulateur ici, mais ce que fait reelement le processeur. Si tu utiliser l'instruction &23 sur ce CPU, tu a bien l'accus mi a Zero ...
jvernet a écrit :
La solution de Daniel (interrompre ou considerer comme NOP) est plus raisonnable. Sauf quand ces instructions sont volontairement utilisées... Et donc qu'elles font quelque chose quand même sur le vrai microprocesseur.
Hum, le plus
parfait est bien sur de suivre le fonctionnement reel du CPU ... sauf qu'il faut bien sur avoir les infos qui vont bien.
Pour mon emulateur Sharp, j'emule lorsque je sais ce qu'elles font, sinon je sort par une exception (on s'en fou, y'a pas beaucoup de jeu et dans tous les cas ils n'utilisent jamais ce genre de bidouilles).
Il y a une instruction qui plante reelement le CPU (bouclage sur elle meme je supose) : je m'en sert pour detourner certains appels systeme.