ericde45 (./18) :
un screenshot d'un object list qui fonctionne ( le propriétaire se reconnaitra ) :

Dans ton code, je pense que le problème c'est que tu utilises le registre r30 :
j'ai l'impression que tu utilises r30 comme registre d'adresse pour les flags : attention car les registres r31 & r30 sont modifiées lors de l'entrée en interruption :
* r31 est la stack (donc modifié)
* r30 est détruit
En l'occurrence sur jag, r30 prent la valeur de l'adresse de l'interruption (attention car ce comportement n'est pas documenté => il faut prendre le partie que r30 = n'importe quoi), du coup avec ton code, cela va :
- lire l'adresse "F03030".l => initialement "D360 E400" {jump (r27) ; nop}
- activer le bit 12 => "D360 F400" {jump (r27) ; store r0, (r15+r0)}
- écrire le résultat à l'adresse "F03030".l
Du coup :
- les flags ne sont pas mis à jour => donc plus d'interruptions
- si exécution quand même de l'interruption => crash car l'instruction store va écrire n'importe quoi n'importe où
