summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/memoire.h3
-rw-r--r--include/simulator.h1
-rw-r--r--include/terminal.h6
-rw-r--r--lib/assembler.c11
-rw-r--r--lib/linker.c3
-rw-r--r--lib/memoire.c28
-rw-r--r--lib/registre.c1
-rw-r--r--lib/simulator.c85
-rw-r--r--lib/terminal.c7
-rw-r--r--po/ProjetArchi.pot132
-rw-r--r--po/cat-id-tbl.c51
-rw-r--r--src/simul.c6
12 files changed, 220 insertions, 114 deletions
diff --git a/include/memoire.h b/include/memoire.h
index 290068d..b20434e 100644
--- a/include/memoire.h
+++ b/include/memoire.h
@@ -1,6 +1,9 @@
#ifndef __MEMOIRE_H__
#define __MEMOIRE_H__
#include "types.h"
+extern Uint32 * memoire_principale;
Uint32 LD(Uint32 offset);
void ST(Uint32 offset, Uint32 valeur);
+void InitMemoire(void);
+void FreeMemoire(void);
#endif
diff --git a/include/simulator.h b/include/simulator.h
index ba8c7d1..41afe2c 100644
--- a/include/simulator.h
+++ b/include/simulator.h
@@ -13,7 +13,6 @@
#define ADD_SP (TAILLE_MEMOIRE-1) /* Emplacement de la pile */
-extern Uint32 memoire_principale[TAILLE_MEMOIRE];
extern Uint32 registre[NB_REGISTRES_PHYSIQUES]; /* Registres classiques */
extern int debug;
diff --git a/include/terminal.h b/include/terminal.h
index ed65f71..763c965 100644
--- a/include/terminal.h
+++ b/include/terminal.h
@@ -5,8 +5,8 @@
extern FILE * input;
extern struct termios initial_settings, new_settings;
-openterm();
-clearterm();
-initterm();
+void openterm(void);
+void clearterm(void);
+void initterm(void);
#endif \ No newline at end of file
diff --git a/lib/assembler.c b/lib/assembler.c
index 3fda135..edf6aed 100644
--- a/lib/assembler.c
+++ b/lib/assembler.c
@@ -1456,6 +1456,7 @@ void asm_eol(void)
int i;
char trouve;
_TableauVariable it;
+ bytestream_t * pi;
switch (special) {
case 2: /* Cas de #define */
@@ -1576,6 +1577,8 @@ 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);
for (i = 0; i < instr->nbexplicit; i++) {
@@ -1669,8 +1672,8 @@ void asm_eol(void)
break;
}
}
-
- pushdword(evaluate_field(it, "FI", fields), NULL);
+
+ pi->Encoded = evaluate_field(it, "FI", fields);
DetruitTab(&it);
break;
default:
@@ -1691,6 +1694,8 @@ 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) {
if (ferror(f)) {
@@ -1787,6 +1792,7 @@ void asm_eof(FILE * f)
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);
+ fprintf(stderr, "%s\n", errctx);
pushcontext(errctx);
a = 0;
@@ -1905,6 +1911,7 @@ void asm_eof(FILE * f)
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);
+ fprintf(stderr, "%s\n", errctx);
pushcontext(errctx);
a = 0;
diff --git a/lib/linker.c b/lib/linker.c
index b6930e3..0228a9f 100644
--- a/lib/linker.c
+++ b/lib/linker.c
@@ -138,7 +138,7 @@ void addfile(char *nom)
if ((startpoint != -1) && (start != -1)) {
exception(1, _("Startpoint already defined."));
}
- startpoint = start;
+ startpoint = start + textsize;
objects[objindex]->s_text = readword(f);
objects[objindex]->s_data = readword(f);
@@ -284,6 +284,7 @@ void dumpfile(char *nom)
pushcontext(_("Writing headers"));
writeword(0x58454e4e, f);
writeword(nbrsymbs + textsize + datasize + 7, f);
+ writeword(startpoint, f);
writeword(textsize, f);
writeword(datasize, f);
writeword(bsssize, f);
diff --git a/lib/memoire.c b/lib/memoire.c
index 48daf0e..eb6dadc 100644
--- a/lib/memoire.c
+++ b/lib/memoire.c
@@ -1,3 +1,5 @@
+#include <stdio.h>
+#include <stdlib.h>
#include "memoire.h"
#include "interne.h"
#include "simulator.h"
@@ -20,6 +22,15 @@ Uint32 * memoire_principale;
/** **/
/*****************************************/
+
+void InitMemoire(void) {
+ memoire_principale = (Uint32 *) Emalloc(TAILLE_MEMOIRE * sizeof(Uint32));
+}
+
+void FreeMemoire(void) {
+ free(memoire_principale);
+}
+
/* Lit le mot qui se trouve à l'offset 'offset' en mémoire */
Uint32 LD(Uint32 offset)
{
@@ -27,24 +38,27 @@ Uint32 LD(Uint32 offset)
switch (offset) {
case 0xffffff00:
- return (!feof(stdin));
+ initterm();
+ i = !feof(input);
+ clearterm();
+ return (i);
case 0xffffff01:
- return (fgetc(stdin));
- case 0xffffff05:
+ initterm();
+ i = fgetc(input);
clearterm();
+ break;
+ case 0xffffff05:
fscanf(input, "%i", &i);
- initterm();
- return i;
+ break;
default:
if (offset >= TAILLE_MEMOIRE) {
exception(1, _("Invalid Memory Adress"));
- return (i);
} else {
i = memoire_principale[offset];
- return (i);
}
break;
}
+ return i;
}
static void copychaine(Uint32 * t, char * s) {
diff --git a/lib/registre.c b/lib/registre.c
index 2d88d45..a11a88c 100644
--- a/lib/registre.c
+++ b/lib/registre.c
@@ -8,6 +8,7 @@
#define _(x) x
#endif
+Uint32 registre[64];
/*****************************************/
/** **/
diff --git a/lib/simulator.c b/lib/simulator.c
index d542a07..9a859f4 100644
--- a/lib/simulator.c
+++ b/lib/simulator.c
@@ -1,4 +1,7 @@
#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -30,6 +33,27 @@ void IncrementeCompteurOrdinal(void)
EcrireRegistrePC(AdditionNonSigne(LireRegistrePC(), 1));
}
+static FILE *openfilereading(char *name)
+{
+ FILE *f;
+
+ if (!(f = fopen(name, "rb"))) {
+ pushcontext(strerror(errno));
+ exception(1, _("Error reading file"));
+ }
+ return f;
+}
+
+static Uint32 readword(FILE * f)
+{
+ Uint32 a;
+
+ if (fread(&a, sizeof(a), 1, f) != 1) {
+ exception(1, _("premature end of file"));
+ }
+ return a;
+}
+
Uint32 Adresse(Uint32 u, Uint32 instruction)
{
Uint32 tmp;
@@ -58,6 +82,8 @@ Uint32 Adresse(Uint32 u, Uint32 instruction)
void Initialisation(void)
{
int i;
+
+ InitMemoire();
for (i = 0; i < TAILLE_MEMOIRE; i++)
Reset(&memoire_principale[i]);
@@ -67,7 +93,7 @@ void Initialisation(void)
EcrireRegistreSP(ADD_SP); /* initialisation du stack pointer */
}
-void DecodeExec(Uint32 instruction, Uint32 entrypoint)
+void DecodeExec(Uint32 instruction)
{
Uint32 champ_registre_resultat, val1, val2, resultat;
int test1, test2;
@@ -344,21 +370,6 @@ void DecodeExec(Uint32 instruction, Uint32 entrypoint)
}
}
}
-void Traitement(Uint32 entrypoint)
-{ /* ******************** FIXMI ************************* */
- Uint32 instruction;
-
- while (HasToRun) {
- EcrireRegistrePC(entrypoint);
- HasToRun = 1;
- HasToReset = 0;
- while ((HasToRun) && (!HasToReset)) {
- instruction = LireInstruction();
- IncrementeCompteurOrdinal();
- DecodeExec(instruction, entrypoint);
- }
- }
-}
void AfficheReg(void) // affiche reg
{
@@ -375,7 +386,7 @@ void AfficheReg(void) // affiche reg
fprintf(stderr, "\n");
}
fprintf(stderr, "Rg: %08lX | Rd: %08lX | Flag: %08lX | PC: %08lX\n\n", LireRegistreRG(), LireRegistreRD(),
- LireRegistreFLAG(), registre[REG_PC]);
+ LireRegistreFLAG(), LireRegistrePC());
}
void Debogueur(void)
@@ -384,12 +395,12 @@ void Debogueur(void)
while (!out) {
AfficheReg();
- printf("%08lX:%08lX > ", LireRegistrePC(), LD(LireRegistrePC()));
+ fprintf(stderr, "%08lX:%08lX > ", LireRegistrePC(), LD(LireRegistrePC()));
switch (fgetc(input)) {
case 'G':
case 'g':
- fprintf(stderr, "Go\n")
+ fprintf(stderr, "Go\n");
debug = 0;
out = 1;
break;
@@ -401,8 +412,38 @@ void Debogueur(void)
case 'R':
case 'r':
break;
+ case 'Q':
+ case 'q':
+ clearterm();
+ exception(1, _("Shutdown requested"));
default:
- fprintf(stderr, _("Help:\nG: go\nP: Proceed\nR: display registers\n\n");
+ fprintf(stderr, _("Help:\nG: go\nP: Proceed\nR: display registers\nQ: quit\n"));
+ }
+ }
+}
+
+void Traitement(Uint32 entrypoint)
+{ /* ******************** FIXMI ************************* */
+ Uint32 instruction;
+
+ fprintf(stderr, "Entrypoint: %08lX\n", entrypoint);
+
+ while (HasToRun) {
+ EcrireRegistrePC(entrypoint);
+ HasToRun = 1;
+ HasToReset = 0;
+ while ((HasToRun) && (!HasToReset)) {
+ if (debug) {
+ initterm();
+ Debogueur();
+ clearterm();
+ }
+ fprintf(stderr, "Kapoue1\n");
+ instruction = LireInstruction();
+ fprintf(stderr, "Kapoue2\n");
+ IncrementeCompteurOrdinal();
+ fprintf(stderr, "Kapoue3\n");
+ DecodeExec(instruction);
}
}
}
@@ -421,8 +462,11 @@ void ChargeBinaire(char *filename)
sprintf(message, _("Loading file %s"), filename);
pushcontext(message);
+
+ readword(file);
entrypoint = readword(file); /* point d'entrée */
+ fprintf(stderr, "Loaded entrypoint: %08lX", entrypoint);
nb = readword(file); /* taille du segment text */
ns = readword(file); /* taille des donnes statiques */
nbss = readword(file); /* taille des donnees non init */
@@ -457,3 +501,4 @@ void ChargeBinaire(char *filename)
popcontext();
base_addr -= nb + ns + nbss;
}
+
diff --git a/lib/terminal.c b/lib/terminal.c
index df3e61d..ace1302 100644
--- a/lib/terminal.c
+++ b/lib/terminal.c
@@ -4,11 +4,12 @@
#include <termios.h>
#include <string.h>
#include "config.h"
+#include "exceptions.h"
FILE *input;
struct termios initial_settings, new_settings;
-void initterm() {
+void initterm(void) {
tcgetattr(fileno(input), &initial_settings);
new_settings = initial_settings;
new_settings.c_lflag &= ~ICANON;
@@ -23,11 +24,11 @@ void initterm() {
}
-void clearterm() {
+void clearterm(void) {
tcsetattr(fileno(input), TCSANOW, &initial_settings);
}
-void openterm() {
+void openterm(void) {
if (!(input = fopen("/dev/tty", "r"))) {
exception(1, _("could not open terminal"));
}
diff --git a/po/ProjetArchi.pot b/po/ProjetArchi.pot
index 5f32a22..15241ab 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 22:11+0200\n"
+"POT-Creation-Date: 2001-04-16 23:40+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"
@@ -131,8 +131,8 @@ msgstr ""
msgid "Pattern not matching..."
msgstr ""
-#: lib/assembler.c:1315 lib/assembler.c:1345 lib/assembler.c:1595
-#: lib/assembler.c:1611 lib/assembler.c:1625
+#: lib/assembler.c:1315 lib/assembler.c:1345 lib/assembler.c:1598
+#: lib/assembler.c:1614 lib/assembler.c:1628
msgid "Unknow constant type in the meta language"
msgstr ""
@@ -142,7 +142,7 @@ msgid ""
msgstr ""
#: lib/assembler.c:1357 lib/assembler.c:1382 lib/assembler.c:1390
-#: lib/assembler.c:1653
+#: lib/assembler.c:1656
msgid "Logical error in meta language"
msgstr ""
@@ -158,148 +158,149 @@ msgstr ""
msgid "Value too large for field"
msgstr ""
-#: lib/assembler.c:1493 lib/assembler.c:1677
+#: lib/assembler.c:1494 lib/assembler.c:1680
msgid "Unknow instruction"
msgstr ""
-#: lib/assembler.c:1518
+#: lib/assembler.c:1519
msgid "Unknow constant"
msgstr ""
-#: lib/assembler.c:1527
+#: lib/assembler.c:1528
msgid "Bad constant for an immediate value"
msgstr ""
-#: lib/assembler.c:1544
+#: lib/assembler.c:1545
msgid "Bad constant for a string"
msgstr ""
-#: lib/assembler.c:1561
+#: lib/assembler.c:1562
msgid "Bad array size"
msgstr ""
-#: lib/assembler.c:1571
+#: lib/assembler.c:1572
msgid "You can only have an instruction into a .text segment"
msgstr ""
-#: lib/assembler.c:1574
+#: lib/assembler.c:1575
msgid "Unmatched instruction"
msgstr ""
-#: lib/assembler.c:1699 lib/assembler.c:1744 lib/linker.c:45 lib/linker.c:67
+#: lib/assembler.c:1704 lib/assembler.c:1749 lib/linker.c:45 lib/linker.c:67
msgid "Error writing file"
msgstr ""
-#: lib/assembler.c:1753 lib/assembler.c:2106 lib/linker.c:56
+#: lib/assembler.c:1758 lib/assembler.c:2113 lib/linker.c:56
+#: lib/simulator.c:42
msgid "Error reading file"
msgstr ""
-#: lib/assembler.c:1770
+#: lib/assembler.c:1775
msgid "Creating temporary files"
msgstr ""
-#: lib/assembler.c:1773
+#: lib/assembler.c:1778
msgid "Error writing file __text__"
msgstr ""
-#: lib/assembler.c:1777
+#: lib/assembler.c:1782
msgid "Error writing file __symbols__"
msgstr ""
-#: lib/assembler.c:1781
+#: lib/assembler.c:1786
msgid "Dumping memory into object file"
msgstr ""
#. Segment de texte
-#: lib/assembler.c:1786
+#: lib/assembler.c:1791
msgid "Dumping text segment"
msgstr ""
-#: lib/assembler.c:1788 lib/assembler.c:1906 lib/assembler.c:1983
+#: lib/assembler.c:1793 lib/assembler.c:1912 lib/assembler.c:1990
#, c-format
msgid "Processing word number %i coming from line %i of the file %s."
msgstr ""
-#: lib/assembler.c:1850 lib/assembler.c:1853 lib/assembler.c:1928
-#: lib/assembler.c:1931
+#: lib/assembler.c:1856 lib/assembler.c:1859 lib/assembler.c:1935
+#: lib/assembler.c:1938
msgid "Can't evaluate expression for a direct value"
msgstr ""
-#: lib/assembler.c:1857 lib/assembler.c:1935
+#: lib/assembler.c:1863 lib/assembler.c:1942
msgid "Can only use the diff() function onto labels"
msgstr ""
-#: lib/assembler.c:1862 lib/assembler.c:1866 lib/assembler.c:1940
-#: lib/assembler.c:1944
+#: lib/assembler.c:1868 lib/assembler.c:1872 lib/assembler.c:1947
+#: lib/assembler.c:1951
msgid "Can only evaluate a diff on local symbols"
msgstr ""
-#: lib/assembler.c:1870 lib/assembler.c:1948
+#: lib/assembler.c:1876 lib/assembler.c:1955
msgid "Can only evaluate a diff on symbols from the same segment"
msgstr ""
-#: lib/assembler.c:1876 lib/assembler.c:1954
+#: lib/assembler.c:1882 lib/assembler.c:1961
msgid "Can't evaluate expression"
msgstr ""
#. Segment de data
-#: lib/assembler.c:1904
+#: lib/assembler.c:1910
msgid "Dumping data segment"
msgstr ""
#. Segment bss
-#: lib/assembler.c:1981
+#: lib/assembler.c:1988
msgid "Dumping bss segment"
msgstr ""
-#: lib/assembler.c:2027
+#: lib/assembler.c:2034
#, 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:2059
+#: lib/assembler.c:2066
msgid "Loading file"
msgstr ""
-#: lib/assembler.c:2060 lib/meta.c:516
+#: lib/assembler.c:2067 lib/meta.c:516
#, c-format
msgid "Opening file '%s'"
msgstr ""
-#: lib/assembler.c:2068 lib/meta.c:524
+#: lib/assembler.c:2075 lib/meta.c:524
msgid "Reading file"
msgstr ""
-#: lib/assembler.c:2070 lib/meta.c:526
+#: lib/assembler.c:2077 lib/meta.c:526
#, c-format
msgid "Reading line %i"
msgstr ""
-#: lib/assembler.c:2079
+#: lib/assembler.c:2086
#, c-format
msgid "Summering line %s"
msgstr ""
-#: lib/assembler.c:2098
+#: lib/assembler.c:2105
#, c-format
msgid "Assembling file %s...\n"
msgstr ""
-#: lib/assembler.c:2099
+#: lib/assembler.c:2106
msgid "Opening output file"
msgstr ""
-#: lib/assembler.c:2102
+#: lib/assembler.c:2109
msgid "Error writing output file"
msgstr ""
-#: lib/assembler.c:2108 lib/linker.c:277
+#: lib/assembler.c:2115 lib/linker.c:277
msgid "Writing output file"
msgstr ""
-#: lib/assembler.c:2109
+#: lib/assembler.c:2116
#, c-format
msgid "Generating output file %s...\n"
msgstr ""
@@ -448,16 +449,16 @@ msgstr ""
msgid "FPU not implemented"
msgstr ""
-#: lib/memoire.c:35 lib/memoire.c:105
+#: lib/memoire.c:55 lib/memoire.c:124
msgid "Invalid Memory Adress"
msgstr ""
#. Si on voudrait diminuer le nombre de registres
-#: lib/registre.c:76 lib/registre.c:92 lib/registre.c:106 lib/registre.c:120
+#: lib/registre.c:77 lib/registre.c:93 lib/registre.c:107 lib/registre.c:121
msgid "Invalid Register Descriptor"
msgstr ""
-#: lib/linker.c:76
+#: lib/linker.c:76 lib/simulator.c:52
msgid "premature end of file"
msgstr ""
@@ -499,60 +500,81 @@ msgstr ""
msgid "Writing headers"
msgstr ""
-#: lib/linker.c:292
+#: lib/linker.c:293
msgid "Writing relocating informations"
msgstr ""
-#: lib/linker.c:295
+#: lib/linker.c:296
msgid "Writing text segments"
msgstr ""
-#: lib/linker.c:300
+#: lib/linker.c:301
msgid "Writing data segments"
msgstr ""
-#: lib/linker.c:307
+#: lib/linker.c:308
#, c-format
msgid "Statistics: %i words of text, %i words of data and reserving %i words\n"
msgstr ""
-#: lib/linker.c:309
+#: lib/linker.c:310
#, c-format
msgid "Output file size: %i words containing %i relocating offsets.\n"
msgstr ""
-#: lib/simulator.c:46
+#: lib/simulator.c:63
msgid "Adresse: Call With Invalid r/m Field State ( r/m=00 )"
msgstr ""
-#: lib/simulator.c:59
+#: lib/simulator.c:76
msgid "Adresse: Unmatched Addr Field"
msgstr ""
#. arg2 = imm32
-#: lib/simulator.c:230
+#: lib/simulator.c:249
msgid "MOV: Memory to Memory Forbidden On This Type Of Processor"
msgstr ""
-#: lib/simulator.c:350
+#: lib/simulator.c:369
msgid "DecodeExec: Invalid Opcode"
msgstr ""
+#: lib/simulator.c:418
+msgid "Shutdown requested"
+msgstr ""
+
+#: lib/simulator.c:420
+msgid ""
+"Help:\n"
+"G: go\n"
+"P: Proceed\n"
+"R: display registers\n"
+"Q: quit\n"
+msgstr ""
+
#. verification de la signature
-#: lib/simulator.c:403
-msgid "Signature invalid"
+#: lib/simulator.c:460
+msgid "Invalid Signature"
msgstr ""
-#: lib/simulator.c:406
+#: lib/simulator.c:463
#, c-format
msgid "Loading file %s"
msgstr ""
-#: lib/simulator.c:438
+#: lib/simulator.c:498
#, c-format
msgid "Executing file %s"
msgstr ""
+#: lib/terminal.c:22
+msgid "could not set terminal attributes"
+msgstr ""
+
+#: lib/terminal.c:33
+msgid "could not open terminal"
+msgstr ""
+
#: src/compilo.c:16
msgid ""
"Assembler v1.0\n"
diff --git a/po/cat-id-tbl.c b/po/cat-id-tbl.c
index ef1eceb..2a5d02a 100644
--- a/po/cat-id-tbl.c
+++ b/po/cat-id-tbl.c
@@ -134,40 +134,49 @@ Statistics: %i words of text, %i words of data, and %i words reserved.\n\
{"Adresse: Unmatched Addr Field", 122},
{"MOV: Memory to Memory Forbidden On This Type Of Processor", 123},
{"DecodeExec: Invalid Opcode", 124},
- {"Signature invalid", 125},
- {"Loading file %s", 126},
- {"Executing file %s", 127},
+ {"Shutdown requested", 125},
+ {"\
+Help:\n\
+G: go\n\
+P: Proceed\n\
+R: display registers\n\
+Q: quit\n", 126},
+ {"Invalid Signature", 127},
+ {"Loading file %s", 128},
+ {"Executing file %s", 129},
+ {"could not set terminal attributes", 130},
+ {"could not open terminal", 131},
{"\
Assembler v1.0\n\
-\n", 128},
- {"Usage: compilo program.asm objet.out\n", 129},
- {" o Initialising the meta engine... ", 130},
+\n", 132},
+ {"Usage: compilo program.asm objet.out\n", 133},
+ {" o Initialising the meta engine... ", 134},
{"\
Done!\n\
- o Meta language loading... ", 131},
- {"Meta language loading failed.", 132},
+ o Meta language loading... ", 135},
+ {"Meta language loading failed.", 136},
{"\
Done!\n\
- o Initialising the assembler core...", 133},
- {"Assembler core init failed.", 134},
- {" Done!\n", 135},
- {"Signal received: segfault", 136},
+ o Initialising the assembler core...", 137},
+ {"Assembler core init failed.", 138},
+ {" Done!\n", 139},
+ {"Signal received: segfault", 140},
{"\
\n\
Performing initialisation...\n\
-\n", 137},
+\n", 141},
{"\
\n\
Performing shutdown...\n\
-\n", 138},
- {"Exitting, bye!\n", 139},
+\n", 142},
+ {"Exitting, bye!\n", 143},
{"\
Linker v1.0\n\
-\n", 140},
- {"Usage: linker obj1 [obj2 [obj3 [...]]] binary\n", 141},
- {" o Initialising the linker... ", 142},
- {"Linking files...\n", 143},
- {"Generating output file...\n", 144},
+\n", 144},
+ {"Usage: linker obj1 [obj2 [obj3 [...]]] binary\n", 145},
+ {" o Initialising the linker... ", 146},
+ {"Linking files...\n", 147},
+ {"Generating output file...\n", 148},
};
-int _msg_tbl_length = 144;
+int _msg_tbl_length = 148;
diff --git a/src/simul.c b/src/simul.c
index 44a1e1f..799a3b7 100644
--- a/src/simul.c
+++ b/src/simul.c
@@ -8,12 +8,16 @@
#include "simulator.h"
#include "alu.h"
+#include "terminal.h"
int main(void)
{
+ openterm();
Rapide = 1;
Initialisation();
- ChargerBinaire("progtest");
+ debug = 1;
+ ChargeBinaire("progtest");
+ clearterm();
return (0);
}