mercredi 27 novembre 2019

MONA version 0.5

La version 0.5 de MONA est maintenant complétée. Pour cette version j'ai réogarniser le code source en plusieurs fichiers et ajouter la commande d addr qui est un déssembleur. Le fichier mona/reamdme.md a été mis à jour.

Affichage de la commande

Voici de quoi a l'air l'affichage de la commande.


>d $6000

 $6000  $9B                     SIM
 $6001  $AD  $C                 CALLR  $C 
 $6003  $25 $19                 JRC   $601E 
 $6005  $CE $48 $7E             LDW X,$487E 
 $6008  $A3 $55 $AA             CPW X,#$55AA 
 $600B  $27 $11                 JREQ   $601E 
 $600D  $20 $16                 JRA   $6025 
 $600F  $C6 $80  $0             LD A,$8000 
 $6012  $A1 $82                 CP A,#$82 
 $6014  $27  $6                 JREQ   $601C 
 $6016  $A1 $AC                 CP A,#$AC 
 $6018  $27  $2                 JREQ   $601C 
 $601A  $99                     SCF
 $601B  $81                     RET
 $601C  $98                     RCF
 $601D  $81                     RET
 $601E  $C6 $48  $0             LD A,$4800 
 $6021  $A1 $AA                 CP A,#$AA 
 $6023  $26  $9                 JRNE   $602E 
 $6025  $5F                     CLRW X
 $6026  $4F                     CLR A
 $6027  $4B $28                 PUSH #$28 
 $6029  $86                     POP CC
 $602A  $AC  $0 $80  $0         JPF   $8000 

Tous les entiers sont affichés en hexadécimal. Le champ de gauche est l'adresse mémoire où se situe l'instruction suivit des octets du code de l'instruction. Viens ensuite la traduction en assembleur du code.

vendredi 8 novembre 2019

MONA version 0.4

La version 0.4 de MONA est maintenant disponible. J'ai ajouté la commande f addr string pour faire une recherche en mémoire d'une Chaîne ASCII. Le readme.md a été mis à jour.


>f $8080 "commands"
Found at address: $8CAE 
>h $8cae
$8CAE  $63 $6F $6D $6D $61 $6E $64 $73   commands

>f $8080 "Commands"
String not found.
>f $8080 i "Commands"
Found at address: $8CAE 

Prochaine étape

Pour la version 0.5 je vais ajouter un désassembleur. La commande va fonctionner de la façon suivante:


>d $809E
$00809E $AE $17 $FF    LDW X,#$17FF
$0080A1 $94            LDW SP,X
Une vingtaine d'instructions seront affichées suivit d'une pause. La barre d'espacement va permette d'afficher les 20 instructions suivantes. N'importe qu'elle autre touche pour revenir à l'invite de commande.

mercredi 6 novembre 2019

MONA version 0.3

J'ai encore amélioré MONA. J'ai aussi mis à jour le fichier readme.md pour tenir compte des nouvelles possibilités du programme. J'ai encore d'autres idées pour améliorer ce programme.

lundi 4 novembre 2019

MONA version 0.2

Je poursuis mes expérimentations avec la carte NUCLEO-8S208RB. Je viens de compléter la version 0.2 de MONA

Nouveautés

  • La mémoire étendue au delà de l'adresse 0xfffff (65536) est maintenant accessible.
  • Une commande qui ne reçoit pas suffisamment d'argument ou des arguments invalides est abandonnée et affiche un message d'erreur.
  • La Commande ! accepte maintenant des chaînes de caractères entre guillemets comme arguments.
  • La commande e pour mettre à zéro des plages de mémoire a été ajoutée.