faire un programme assembleur en c(simulation d'une machine virtuelle)

Publié le 5 janv. 2010 il y a 8A par solomon - Fin › 15 janv. 2010 dans 8A
5

Sujet du devoir


bonjour et tout d'abord bonne année a tout le monde.
en fet je bloque sur un sujet qui un programme d'assembleur qu'on doit faire en C ;il s'agit de faire le programme suisvant:

le programme recupère un fichier texte dans lequel est ecrit un programme en assembleur(une instruction par ligne)et genere un fichier texte ou est stické le programme en langage machine(une instruction ,soit 4 octet ecrits en decimal, par ligne).s'il ya des erreurs de syntaxe dans le fichier source,il ne faudra pas genere un fichier code machine mais signaler l'erreur en indiquant la ligne erronée.une instruction peut avoir une etiquette , representé par "etiq:" avant l'instruction. dans ce cas , un saut " JMP (ou autre) etiq " pourra s'ecrire " JMP(R0)adr" ou adr est l'adresse calculé par l'etiquette.la premier instruction sera toujours placé a l'adresse 0, la deuxiee a l'adresse 4 ce qui permet de calculé l'adresse des saut si ceux ci s donné par une etiquette.

J'ai du mal a savoir par ou commencé, comment recupérer un fichier texte et coment faire avec de etiquettes? si quelqu'un peut m'aider?
merci

Où j'en suis dans mon devoir

je connais toutes les instruction assembleur que jai deja programmé:

void ADD(int Rd, int Rn, int imm, int Src2);

void SUB(int Rd, int Rn, int imm, int Src2);
void SBR(int Rd, int Rn, int imm, int Src2);

void OR(int Rd, int Rn, int imm, int Src2);

void XOR(int Rd, int Rn, int imm, int Src2);

void AND(int Rd, int Rn, int imm, int Src2);

void SHL ( int Rd, int Rn, int imm, int Src2);

void LDB ( int Rd, int Rn, int imm, int Src2);

void LDH( int Rd, int Rn, int imm, int Src2);

void LDW ( int Rd, int Rn, int imm, int Src2);

void STB ( int Rd, int Rn, int imm, int Src2);

void STH ( int Rd, int Rn, int imm, int Src2);

void STW ( int Rd, int Rn, int imm, int Src2);

void JMP ( int Rd, int Rn, int imm, int Src2);

void JZS ( int Rd, int Rn, int imm, int Src2);

void JZC ( int Rd, int Rn, int imm, int Src2);



0 commentaire pour ce devoir



Il faut être inscrit pour aider

Crée un compte gratuit pour aider

Je m'inscrisOU

J'ai déjà un compte

Je me connecte