Du point de vue du "kernel", c'est plutôt
CALCULATOR qui est foireux, ça l'oblige à créer une variable en mémoire pour avoir un pointeur valide. Mais je suppose que c'est parce qu'il n'y a pas de
cmp #imm,#imm ni de
tst #imm et que l'utilisation habituelle de
CALCULATOR est de le comparer avec une valeur fixe.
Du point de vue du C, ce sont les
KEY_* qui sont foireux, parce que ce sont des valeurs relogées comme si c'étaient des adresses, du coup on est obligés de prendre l'adresse d'une "variable" dont l'"adresse" est en réalité une valeur.
