ens-lyon-2017 / compass2018

c'est du sabotage/de l'exploitation
0 stars 1 forks source link

asm doit sortir 2 stats: nb d'instr, et nb de bits total du code #16

Closed fdedinec closed 6 years ago

fdedinec commented 6 years ago

sebastien, tu peux patcher ton asm.py? Je n'y arrive pas.

lephe commented 6 years ago

C'est celui d'Alain à vrai dire, donc je bidouille un peu aussi.

Vous pouvez faire sortir les chiffres avec -v. Seul problème, dans les formats binaires les sauts ne sont jamais générés (un problème en amont), donc il ne sont pas comptés. Le format mnémonique a toutes les instructions, mais ne compte pas les bits puisque ce n'est pas un format binaire.

Il faudra donc résoudre le problème des sauts avant de pouvoir exploiter les chiffres.

lephe commented 6 years ago

Oh, il y avait une erreur de ma part. À savoir des back-ends hors du fichier back_end.py... (bien joué Alain).

Tous les modes sortent désormais les bonnes stats, à part le fait que le mode mnémonique inutile ne compte pas les bits. Compilez en binaire ou en texte avec l'option -v ou --verbose.

Par ailleurs l'histoire des sauts a déjà été partiellement corrigée, donc ça ne pouvait pas être ça.

fdedinec commented 6 years ago

Merci! Reste (mais c'est pas urgent) les espaces et passage a la ligne arbitraire pour les sauts dans la sortie lisible: ./asm.py -v --stdout prog/mult.s

lephe commented 6 years ago

Fait aussi. J'ai tenté de respecter ce qu'Alain avait commencé, du coup les espaces ne sont pas affichés quand -b est spécifié (mais de toute façon c'est déjà aberrant d'afficher du texte quand -b est spécifié...)

λ ./asm.py --stdout prog/mult.s
0111 000 1000010001
0111 001 1000101010
0111 010 00
1000 1 000 1
1011 101 000001010
0000 010 001
1000 0 001 1
0101 000 00
1011 001 010111011
1010 011110011
fdedinec commented 6 years ago

Super.