Architecture – I500 – TD MIC1
Antoine Claudé
Micro instructions de bipush
(fetch de l'opérande)
Question 11
PC est incrémenté à chaque appel de main1, ce qui correspond à chaque changement d'instruction (de
bytecode) puisque que l'on fait appel à un nouveau fetch et on charge l'instruction dans MBR. PC
compte donc le nombre d'instructions.
MPC n'est modifié qu'entre 2 micros instructions successives d'une même instruction. Il ne s'agit pas
d'une incrémentation mais de l'adresse de la prochaine micro instruction puisque l'on peut voir que le
goto de chaque micro instruction non terminale fait appel à l'adresse contenue dans MPC. Lors d'une
micro instruction terminale, MPC=0x2=@ de main1.
Question 12
Bah... heu ça marche ! Toutes les entrées clavier sont immédiatement recopiées et affichées à l’écran.
Question 13
cf. fichier ci joint ! (countJ.jas / countJ.ijvm)
Question 14
On remarque que si l'on entre 'A' dans le programme, il inscrit des 'J' à l'écran. Pour être très précis, il
en écrit 17 ! Cela s'explique par le fait que dans la suite logique des caractères UNICODE, le 'A' se
trouve 8 places après le '9' (8+9=17). Donc lors de la conversion en entier (par soustraction de
0x30), on obtient logiquement 17 (UNICODE(A)-0x30=(UNICODE(9)+8)-0x30=9+8=17). Idem pour
tous les autres caractères UNICODE.
THE END ...