diff options
-rw-r--r-- | lib/assembler.c | 114 | ||||
-rw-r--r-- | lib/linker.c | 10 | ||||
-rw-r--r-- | lib/simulator.c | 26 | ||||
-rw-r--r-- | po/ProjetArchi.pot | 124 |
4 files changed, 164 insertions, 110 deletions
diff --git a/lib/assembler.c b/lib/assembler.c index edf6aed..64eafb9 100644 --- a/lib/assembler.c +++ b/lib/assembler.c @@ -1235,6 +1235,8 @@ static instruct_t *e_match_i(phon_t * phons, instruct_t * instructs, expression_ break; } } + + debug_print_expression(e); for (instructs = instructs->next; instructs; instructs = instructs->next) { t = e; @@ -1255,22 +1257,22 @@ static instruct_t *e_match_i(phon_t * phons, instruct_t * instructs, expression_ } break; case 'C': - if ((t->e_subtype != E_VALUE) && (t->e_subtype != E_LABEL) - && (t->e_subtype != E_OPERATION)) { + if ((t->e_subtype != E_VALUE) && (t->e_subtype != E_LABEL)) { go_out = 1; - if (t->e_subtype == E_OPERATION) { - if (t->op == OP_FUNC_CALL) - go_out = 0; - } } - if ((t->e_subtype == E_OPERATION) && (!(((t->child->e_subtype == E_LABEL) - && (t->child->next->e_subtype == - E_VALUE)) - || ((t->child->e_subtype == E_VALUE) - && (t->child->next->e_subtype == - E_LABEL))))) { - go_out = 1; + if ((t->e_subtype == E_OPERATION) + && ((t->op == OP_PLUS) || (t->op == OP_MOINS))) { + if (((t->child->e_subtype == E_LABEL) + && (t->child->next->e_subtype == E_VALUE)) + || ((t->child->e_subtype == E_VALUE) + && (t->child->next->e_subtype == E_LABEL))) { + go_out = 0; + } + } + + if ((t->e_subtype == E_OPERATION) && (t->op == OP_FUNC_CALL)) { + go_out = 0; } break; @@ -1292,6 +1294,34 @@ static instruct_t *e_match_i(phon_t * phons, instruct_t * instructs, expression_ } } + if (instructs) { + fprintf(stderr, " o Instruction contenant %i champs explicites et %i champs implicites.\n", + instructs->nbexplicit, instructs->nbimplicit); + fprintf(stderr, " => Champs explicites.\n"); + for (i = 0; i < instructs->nbexplicit; i++) { + fprintf(stderr, " + %s <= %s (type %s)\n", + instructs->names[i], + instructs->strings[i] ? instructs->strings[i] : "Pas de chaîne associée", + instructs->etypes[i] ? "prédéfinit" : "direct"); + } + fprintf(stderr, " => Champs implicites.\n"); + for (i = 0; i < instructs->nbimplicit; i++) { + switch (instructs->itypes[i]) { + case 0: + fprintf(stderr, " + %s <= %s (type direct)\n", instructs->implicits[i], + instructs->istrings[i]); + break; + case 1: + fprintf(stderr, " + %s <= %s (type prédéfinit)\n", instructs->implicits[i], + instructs->istrings[i]); + break; + case 2: + fprintf(stderr, " + %s <= %i (type valeur)\n", instructs->implicits[i], + instructs->ivalues[i]); + break; + } + } + } return instructs; } @@ -1421,7 +1451,6 @@ static int evaluate_field(_TableauVariable it, char *field, field_t * fields) break; } } - if (!(fields)) { exception(1, _("Unknow field in metalanguage")); } @@ -1456,7 +1485,7 @@ void asm_eol(void) int i; char trouve; _TableauVariable it; - bytestream_t * pi; + bytestream_t *pi; switch (special) { case 2: /* Cas de #define */ @@ -1470,7 +1499,6 @@ void asm_eol(void) break; case 0: /* Cas normal */ /* C'est ici la bonne histoire... Il faut reconnaitre l'instruction */ - e_current = e_line; if (!(e_current)) break; @@ -1577,7 +1605,7 @@ void asm_eol(void) /* Operation cruciale: nous avons l'instruction qui correspond le mieux à notre expression, on va tenter de l'évaluer */ - + pi = pushuninit(1); Initialise(&it); @@ -1672,7 +1700,7 @@ void asm_eol(void) break; } } - + pi->Encoded = evaluate_field(it, "FI", fields); DetruitTab(&it); break; @@ -1694,7 +1722,7 @@ void asm_eol(void) static void writeword(unsigned long int a, FILE * f, int n) { int i; - + fprintf(stderr, "ÉCriture de %08lX sur %i\n", a, fileno(f)); if (fwrite(&a, sizeof(unsigned long int), 1, f) != 1) { @@ -1735,10 +1763,7 @@ static void writestring(char *string, FILE * f) | | | .| | | | +---+--+---+ | | | -\****************/ - -/* Cette fonction ajoute un fichier à un autre */ - +\****************//* Cette fonction ajoute un fichier à un autre */ void appendfile(FILE * f, char *name) { unsigned long int a; @@ -1790,8 +1815,8 @@ void asm_eof(FILE * f) pushcontext(_("Dumping text segment")); for (ttext = ttext->next; ttext; ttext = ttext->next) { - sprintf(errctx, _("Processing word number %i coming from line %i of the file %s."), ttext->offset, - ttext->line, ttext->filename); + sprintf(errctx, _("Processing word number %i coming from line %i of the file %s."), + ttext->offset, ttext->line, ttext->filename); fprintf(stderr, "%s\n", errctx); pushcontext(errctx); @@ -1803,6 +1828,7 @@ void asm_eof(FILE * f) a = ttext->Expr->avalue; break; case E_LABEL: + fprintf(stderr, "Symbole externe %s\n", ttext->Expr->symbol); a = ttext->Expr->avalue; nbsymbols++; writeword(1, f2, 1); @@ -1819,7 +1845,9 @@ void asm_eof(FILE * f) } } if (ttext->Expr->op == OP_DECAL) { - if ((ttext->Expr->child->e_subtype == E_LABEL) && (ttext->Expr->child->next->e_subtype == E_VALUE)) { + if ((ttext->Expr->child->e_subtype == E_LABEL) + && (ttext->Expr->child->next->e_subtype == E_VALUE)) { + fprintf(stderr, "Symbole externe %s\n", ttext->Expr->child->symbol); a = ttext->Expr->child->next->avalue; nbsymbols++; writeword(1, f2, 1); @@ -1831,8 +1859,13 @@ void asm_eof(FILE * f) } } if (ttext->Expr->op == OP_PLUS) { - if (((ttext->Expr->child->e_subtype == E_LABEL) && (ttext->Expr->child->next->e_subtype == E_VALUE)) || ((ttext->Expr->child->e_subtype == E_VALUE) && (ttext->Expr->child->next->e_subtype == E_LABEL))) { + if (((ttext->Expr->child->e_subtype == E_LABEL) + && (ttext->Expr->child->next->e_subtype == E_VALUE)) + || ((ttext->Expr->child->e_subtype == E_VALUE) + && (ttext->Expr->child->next->e_subtype == E_LABEL))) { if (ttext->Expr->child->e_subtype == E_LABEL) { + fprintf(stderr, "Symbole externe %s\n", + ttext->Expr->child->symbol); a = ttext->Expr->child->next->avalue; nbsymbols++; writeword(1, f2, 1); @@ -1841,6 +1874,8 @@ void asm_eof(FILE * f) writestring(ttext->Expr->child->symbol, f2); nbe++; } else { + fprintf(stderr, "Symbole externe %s\n", + ttext->Expr->child->next->symbol); a = ttext->Expr->child->avalue; nbsymbols++; writeword(1, f2, 1); @@ -1891,6 +1926,7 @@ void asm_eof(FILE * f) } else { if (ttext->Label) { nbsymbols++; + fprintf(stderr, "Symbole interne %s\n", ttext->Label); writeword(0, f2, 1); writeword(ttext->offset, f2, 1); if (ttext->Label[strlen(ttext->Label) - 1] == ':') { @@ -1909,8 +1945,8 @@ void asm_eof(FILE * f) pushcontext(_("Dumping data segment")); for (tdata = tdata->next; tdata; tdata = tdata->next) { - sprintf(errctx, _("Processing word number %i coming from line %i of the file %s."), tdata->offset, - tdata->line, tdata->filename); + sprintf(errctx, _("Processing word number %i coming from line %i of the file %s."), + tdata->offset, tdata->line, tdata->filename); fprintf(stderr, "%s\n", errctx); pushcontext(errctx); @@ -1923,9 +1959,10 @@ void asm_eof(FILE * f) break; case E_LABEL: a = tdata->Expr->avalue; + fprintf(stderr, "Symbole externe %s\n", tdata->Expr->child->symbol); nbsymbols++; writeword(3, f2, 1); - writeword(tdata->offset + s_text, f2, 1); + writeword(tdata->offset, f2, 1); writeword(strlen(tdata->Expr->symbol), f2, 1); writestring(tdata->Expr->symbol, f2); nbe++; @@ -1970,8 +2007,9 @@ void asm_eof(FILE * f) } else { if (tdata->Label) { nbsymbols++; + fprintf(stderr, "Symbole interne %s\n", tdata->Label); writeword(2, f2, 1); - writeword(tdata->offset + s_text, f2, 1); + writeword(tdata->offset, f2, 1); writeword(strlen(tdata->Label), f2, 1); writestring(tdata->Label, f2); nbi++; @@ -1987,15 +2025,16 @@ void asm_eof(FILE * f) pushcontext(_("Dumping bss segment")); for (tbss = tbss->next; tbss; tbss = tbss->next) { - sprintf(errctx, _("Processing word number %i coming from line %i of the file %s."), tbss->offset, - tbss->line, tbss->filename); + sprintf(errctx, _("Processing word number %i coming from line %i of the file %s."), + tbss->offset, tbss->line, tbss->filename); pushcontext(errctx); if (!tbss->size) { if (tbss->Label) { nbsymbols++; writeword(4, f2, 1); - writeword(tbss->offset + s_text + s_data, f2, 1); + fprintf(stderr, "Symbole interne %s\n", tbss->Label); + writeword(tbss->offset, f2, 1); writeword(strlen(tbss->Label), f2, 1); writestring(tbss->Label, f2); nbi++; @@ -2054,10 +2093,7 @@ void assembler_flush(void) delete_bytestream(data); delete_bytestream(bss); } - -/* Fonction générique qui va traiter un fichier entier */ - -static int process_file(char *name) +/* Fonction générique qui va traiter un fichier entier */ static int process_file(char *name) { FILE *f; char buf[BUFSIZ], errctx[BUFSIZ], *p; @@ -2072,6 +2108,7 @@ static int process_file(char *name) return 1; } popcontext(); + pushcontext(_("Reading file")); while (fgets(buf, BUFSIZ, f)) { sprintf(errctx, _("Reading line %i"), line = ++i); @@ -2109,6 +2146,7 @@ void assemble_file(char *iname, char *oname) exception(1, _("Error writing output file")); } popcontext(); + if (process_file(iname)) { exception(1, _("Error reading file")); } diff --git a/lib/linker.c b/lib/linker.c index 0228a9f..0be4cfc 100644 --- a/lib/linker.c +++ b/lib/linker.c @@ -98,7 +98,7 @@ static char *readstring(FILE * f) static void addsymbol(char *name, int offset, int type) { symbol_t *newsymbol; - + newsymbol = (symbol_t *) Emalloc(sizeof(symbol_t)); newsymbol->next = NULL; newsymbol->type = type; @@ -210,6 +210,7 @@ static void dumprelog(FILE * f) { symbol_t *s = symbols, *t; char trouve, err[BUFSIZ]; + Uint32 decal; for (s = s->next; s; s = s->next) { if (s->type & 1) { @@ -222,21 +223,22 @@ static void dumprelog(FILE * f) case 1: /* text */ switch (t->type) { case 0: - objects[s->objindex]->text[s->offset] += + decal = objects[t->objindex]->textstart + t->offset; break; case 2: - objects[s->objindex]->text[s->offset] += + decal = textsize + objects[t->objindex]->datastart + t->offset; break; case 4: - objects[s->objindex]->text[s->offset] += + decal = textsize + datasize + objects[t->objindex]->bssstart + t->offset; break; default: exception(1, _("Internal error")); break; } + objects[s->objindex]->text[s->offset] += decal; writeword(objects[s->objindex]->textstart + s->offset, f); break; case 3: /* data */ diff --git a/lib/simulator.c b/lib/simulator.c index 9a859f4..802587b 100644 --- a/lib/simulator.c +++ b/lib/simulator.c @@ -98,8 +98,10 @@ void DecodeExec(Uint32 instruction) Uint32 champ_registre_resultat, val1, val2, resultat; int test1, test2; Uint32 val; /* valeur qui va etre stockée */ - + + if (Opcode(instruction) & 0x80) { + fprintf(stderr, "Opcode FPU\n"); fpu(Opcode(instruction)); } else { switch (Opcode(instruction)) { @@ -111,6 +113,7 @@ void DecodeExec(Uint32 instruction) case 5: case 6: case 7: + fprintf(stderr, "Opcode ALU\n"); /* ALU */ champ_registre_resultat = Champ1(instruction); /* Champ du registre dans lequel va etre stocké le résultat */ val1 = LireRegistre(Champ2(instruction)); /* Premier entier qui va etre utilisé dans l'opération */ @@ -185,6 +188,7 @@ void DecodeExec(Uint32 instruction) } break; case 8: /* MOV */ + fprintf(stderr, "Opcode MOV\n"); if (ValeurBit(Extension(instruction), 4) == 1) { /* MOV conditionnel */ if (ValeurBit(Extension(instruction), 5) == 0) { /* Test normal */ switch (champ(Extension(instruction) >> 2, 4)) { /* teste les bits 2 et 3 */ @@ -220,28 +224,38 @@ void DecodeExec(Uint32 instruction) } /* Pas de MOV conditionnel */ if (ValeurBit(Extension(instruction), 1) == 0) { /* Mov arg1 arg2 */ + fprintf(stderr, "MOV arg1, arg2\n"); if (ValeurBit(Extension(instruction), 0) == 0) { /* arg2 = reg */ + fprintf(stderr, "arg2 = reg (%i)\n", Champ2(instruction)); if (champ(Champ1(instruction), 2) == 0) { /* r/m de arg1 = 0 */ + fprintf(stderr, "arg1 = reg (%i)\n", Champ3(instruction)); EcrireRegistre(Champ3(instruction), LireRegistre(Champ2(instruction))); } else { + fprintf(stderr, "arg1 = adresse\n"); ST(Adresse(Champ1(instruction), instruction), LireRegistre(Champ2(instruction))); } } else { /* arg2 = imm32 */ + fprintf(stderr, "arg2 = imm (%i)\n", LireInstruction()); if (champ(Champ1(instruction), 2) == 0) { /* r/m de arg1 = 0 */ + fprintf(stderr, "arg1 = reg (%i)\n", Champ3(instruction)); EcrireRegistre(Champ3(instruction), LireInstruction()); IncrementeCompteurOrdinal(); } else { + fprintf(stderr, "arg1 = adresse\n"); ST(Adresse(Champ1(instruction), instruction), LireInstruction()); IncrementeCompteurOrdinal(); } } } else { + fprintf(stderr, "MOV arg2, arg1\n"); if (ValeurBit(Extension(instruction), 0) == 0) { /* arg2 = reg */ + fprintf(stderr, "arg2 = reg (%i)\n", Champ2(instruction)); if (champ(Champ1(instruction), 2) == 0) { /* r/m de arg1 = 0 */ + fprintf(stderr, "arg1 = reg (%i)\n", Champ3(instruction)); EcrireRegistre(Champ2(instruction), LireRegistre(Champ3(instruction))); - } else { + fprintf(stderr, "arg1 = addresse\n"); EcrireRegistre(Champ2(instruction), LD(Adresse(Champ1(instruction), instruction))); } @@ -392,10 +406,13 @@ void AfficheReg(void) // affiche reg void Debogueur(void) { int out = 0; + + Uint32 instruction = LireInstruction(); while (!out) { AfficheReg(); - fprintf(stderr, "%08lX:%08lX > ", LireRegistrePC(), LD(LireRegistrePC())); + fprintf(stderr, "Opcode: %02X, extension: %02X, champ1: %02X, champ2: %02X, champ3: %02X\n", Opcode(instruction), Extension(instruction), Champ1(instruction), Champ2(instruction), Champ3(instruction)); + fprintf(stderr, "%08lX:%08lX > ", LireRegistrePC(), instruction); switch (fgetc(input)) { case 'G': @@ -438,11 +455,8 @@ void Traitement(Uint32 entrypoint) Debogueur(); clearterm(); } - fprintf(stderr, "Kapoue1\n"); instruction = LireInstruction(); - fprintf(stderr, "Kapoue2\n"); IncrementeCompteurOrdinal(); - fprintf(stderr, "Kapoue3\n"); DecodeExec(instruction); } } diff --git a/po/ProjetArchi.pot b/po/ProjetArchi.pot index 15241ab..a0d0ef0 100644 --- a/po/ProjetArchi.pot +++ b/po/ProjetArchi.pot @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2001-04-16 23:40+0200\n" +"POT-Creation-Date: 2001-04-17 00:44+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -123,184 +123,184 @@ msgstr "" msgid "Something wrong, should never got here..." msgstr "" -#: lib/assembler.c:1281 +#: lib/assembler.c:1283 msgid "Unknow predefined string into the meta language" msgstr "" -#: lib/assembler.c:1307 +#: lib/assembler.c:1337 msgid "Pattern not matching..." msgstr "" -#: lib/assembler.c:1315 lib/assembler.c:1345 lib/assembler.c:1598 -#: lib/assembler.c:1614 lib/assembler.c:1628 +#: lib/assembler.c:1345 lib/assembler.c:1375 lib/assembler.c:1626 +#: lib/assembler.c:1642 lib/assembler.c:1656 msgid "Unknow constant type in the meta language" msgstr "" -#: lib/assembler.c:1327 lib/assembler.c:1369 lib/assembler.c:1396 +#: lib/assembler.c:1357 lib/assembler.c:1399 lib/assembler.c:1426 msgid "" "Error in the metalanguage (pattern should be here if not a constant type)" msgstr "" -#: lib/assembler.c:1357 lib/assembler.c:1382 lib/assembler.c:1390 -#: lib/assembler.c:1656 +#: lib/assembler.c:1387 lib/assembler.c:1412 lib/assembler.c:1420 +#: lib/assembler.c:1684 msgid "Logical error in meta language" msgstr "" -#: lib/assembler.c:1426 +#: lib/assembler.c:1455 msgid "Unknow field in metalanguage" msgstr "" -#: lib/assembler.c:1436 +#: lib/assembler.c:1465 msgid "Can't evaluate directly expression" msgstr "" -#: lib/assembler.c:1442 +#: lib/assembler.c:1471 msgid "Value too large for field" msgstr "" -#: lib/assembler.c:1494 lib/assembler.c:1680 +#: lib/assembler.c:1522 lib/assembler.c:1708 msgid "Unknow instruction" msgstr "" -#: lib/assembler.c:1519 +#: lib/assembler.c:1547 msgid "Unknow constant" msgstr "" -#: lib/assembler.c:1528 +#: lib/assembler.c:1556 msgid "Bad constant for an immediate value" msgstr "" -#: lib/assembler.c:1545 +#: lib/assembler.c:1573 msgid "Bad constant for a string" msgstr "" -#: lib/assembler.c:1562 +#: lib/assembler.c:1590 msgid "Bad array size" msgstr "" -#: lib/assembler.c:1572 +#: lib/assembler.c:1600 msgid "You can only have an instruction into a .text segment" msgstr "" -#: lib/assembler.c:1575 +#: lib/assembler.c:1603 msgid "Unmatched instruction" msgstr "" -#: lib/assembler.c:1704 lib/assembler.c:1749 lib/linker.c:45 lib/linker.c:67 +#: lib/assembler.c:1732 lib/assembler.c:1774 lib/linker.c:45 lib/linker.c:67 msgid "Error writing file" msgstr "" -#: lib/assembler.c:1758 lib/assembler.c:2113 lib/linker.c:56 +#: lib/assembler.c:1783 lib/assembler.c:2151 lib/linker.c:56 #: lib/simulator.c:42 msgid "Error reading file" msgstr "" -#: lib/assembler.c:1775 +#: lib/assembler.c:1800 msgid "Creating temporary files" msgstr "" -#: lib/assembler.c:1778 +#: lib/assembler.c:1803 msgid "Error writing file __text__" msgstr "" -#: lib/assembler.c:1782 +#: lib/assembler.c:1807 msgid "Error writing file __symbols__" msgstr "" -#: lib/assembler.c:1786 +#: lib/assembler.c:1811 msgid "Dumping memory into object file" msgstr "" #. Segment de texte -#: lib/assembler.c:1791 +#: lib/assembler.c:1816 msgid "Dumping text segment" msgstr "" -#: lib/assembler.c:1793 lib/assembler.c:1912 lib/assembler.c:1990 +#: lib/assembler.c:1818 lib/assembler.c:1948 lib/assembler.c:2028 #, c-format msgid "Processing word number %i coming from line %i of the file %s." msgstr "" -#: lib/assembler.c:1856 lib/assembler.c:1859 lib/assembler.c:1935 -#: lib/assembler.c:1938 +#: lib/assembler.c:1891 lib/assembler.c:1894 lib/assembler.c:1972 +#: lib/assembler.c:1975 msgid "Can't evaluate expression for a direct value" msgstr "" -#: lib/assembler.c:1863 lib/assembler.c:1942 +#: lib/assembler.c:1898 lib/assembler.c:1979 msgid "Can only use the diff() function onto labels" msgstr "" -#: lib/assembler.c:1868 lib/assembler.c:1872 lib/assembler.c:1947 -#: lib/assembler.c:1951 +#: lib/assembler.c:1903 lib/assembler.c:1907 lib/assembler.c:1984 +#: lib/assembler.c:1988 msgid "Can only evaluate a diff on local symbols" msgstr "" -#: lib/assembler.c:1876 lib/assembler.c:1955 +#: lib/assembler.c:1911 lib/assembler.c:1992 msgid "Can only evaluate a diff on symbols from the same segment" msgstr "" -#: lib/assembler.c:1882 lib/assembler.c:1961 +#: lib/assembler.c:1917 lib/assembler.c:1998 msgid "Can't evaluate expression" msgstr "" #. Segment de data -#: lib/assembler.c:1910 +#: lib/assembler.c:1946 msgid "Dumping data segment" msgstr "" #. Segment bss -#: lib/assembler.c:1988 +#: lib/assembler.c:2026 msgid "Dumping bss segment" msgstr "" -#: lib/assembler.c:2034 +#: lib/assembler.c:2073 #, c-format msgid "" "Statistics: %i words of text, %i words of data, and %i words reserved.\n" "%i symbols generated with %i internal and %i external.\n" msgstr "" -#: lib/assembler.c:2066 +#: lib/assembler.c:2102 msgid "Loading file" msgstr "" -#: lib/assembler.c:2067 lib/meta.c:516 +#: lib/assembler.c:2103 lib/meta.c:516 #, c-format msgid "Opening file '%s'" msgstr "" -#: lib/assembler.c:2075 lib/meta.c:524 +#: lib/assembler.c:2112 lib/meta.c:524 msgid "Reading file" msgstr "" -#: lib/assembler.c:2077 lib/meta.c:526 +#: lib/assembler.c:2114 lib/meta.c:526 #, c-format msgid "Reading line %i" msgstr "" -#: lib/assembler.c:2086 +#: lib/assembler.c:2123 #, c-format msgid "Summering line %s" msgstr "" -#: lib/assembler.c:2105 +#: lib/assembler.c:2142 #, c-format msgid "Assembling file %s...\n" msgstr "" -#: lib/assembler.c:2106 +#: lib/assembler.c:2143 msgid "Opening output file" msgstr "" -#: lib/assembler.c:2109 +#: lib/assembler.c:2146 msgid "Error writing output file" msgstr "" -#: lib/assembler.c:2115 lib/linker.c:277 +#: lib/assembler.c:2153 lib/linker.c:279 msgid "Writing output file" msgstr "" -#: lib/assembler.c:2116 +#: lib/assembler.c:2154 #, c-format msgid "Generating output file %s...\n" msgstr "" @@ -483,41 +483,41 @@ msgstr "" msgid "Reading text and data segments" msgstr "" -#: lib/linker.c:218 +#: lib/linker.c:219 #, c-format msgid "Symbol %s not found" msgstr "" -#: lib/linker.c:237 lib/linker.c:257 lib/linker.c:263 +#: lib/linker.c:238 lib/linker.c:259 lib/linker.c:265 msgid "Internal error" msgstr "" -#: lib/linker.c:281 +#: lib/linker.c:283 msgid "No startpoint defined." msgstr "" -#: lib/linker.c:284 +#: lib/linker.c:286 msgid "Writing headers" msgstr "" -#: lib/linker.c:293 +#: lib/linker.c:295 msgid "Writing relocating informations" msgstr "" -#: lib/linker.c:296 +#: lib/linker.c:298 msgid "Writing text segments" msgstr "" -#: lib/linker.c:301 +#: lib/linker.c:303 msgid "Writing data segments" msgstr "" -#: lib/linker.c:308 +#: lib/linker.c:310 #, c-format msgid "Statistics: %i words of text, %i words of data and reserving %i words\n" msgstr "" -#: lib/linker.c:310 +#: lib/linker.c:312 #, c-format msgid "Output file size: %i words containing %i relocating offsets.\n" msgstr "" @@ -531,19 +531,19 @@ msgid "Adresse: Unmatched Addr Field" msgstr "" #. arg2 = imm32 -#: lib/simulator.c:249 +#: lib/simulator.c:263 msgid "MOV: Memory to Memory Forbidden On This Type Of Processor" msgstr "" -#: lib/simulator.c:369 +#: lib/simulator.c:383 msgid "DecodeExec: Invalid Opcode" msgstr "" -#: lib/simulator.c:418 +#: lib/simulator.c:435 msgid "Shutdown requested" msgstr "" -#: lib/simulator.c:420 +#: lib/simulator.c:437 msgid "" "Help:\n" "G: go\n" @@ -553,16 +553,16 @@ msgid "" msgstr "" #. verification de la signature -#: lib/simulator.c:460 +#: lib/simulator.c:474 msgid "Invalid Signature" msgstr "" -#: lib/simulator.c:463 +#: lib/simulator.c:477 #, c-format msgid "Loading file %s" msgstr "" -#: lib/simulator.c:498 +#: lib/simulator.c:512 #, c-format msgid "Executing file %s" msgstr "" |