summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/alu.h4
-rw-r--r--lib/alu.c40
-rw-r--r--po/POTFILES.in4
-rw-r--r--po/ProjetArchi.pot288
-rw-r--r--po/fr.po355
5 files changed, 513 insertions, 178 deletions
diff --git a/include/alu.h b/include/alu.h
index 760de41..89328e7 100644
--- a/include/alu.h
+++ b/include/alu.h
@@ -2,6 +2,10 @@
#define __ALU_H__
#include "types.h"
+typedef struct couple {
+ Uint32 deb, fin;
+} couple;
+
Uint32 AdditionNonSigne(Uint32 a, Uint32 b);
Uint32 AdditionSigne(Uint32 a, Uint32 b);
Uint32 SoustractionNonSigne(Uint32 a, Uint32 b);
diff --git a/lib/alu.c b/lib/alu.c
index ffbf9c8..4b92050 100644
--- a/lib/alu.c
+++ b/lib/alu.c
@@ -1,4 +1,6 @@
#include "alu.h"
+#include "config.h"
+#include "exceptions.h"
// rajouter les overflow...
@@ -95,8 +97,7 @@ Uint32 ValeurIbitsAuDeb(Uint32 nb, int i)
Uint32 val, un = 1;
if ((i > 31) || (i < 0)) {
- fprintf(stderr, "erreur, ValeurIbitsAuDeb: la position demande n est pas dans l'intervalle");
- return (0);
+ exception(_("ValeurIbitsAuDeb: position not in interval"));
}
val = nb >> i;
val = val & un;
@@ -156,8 +157,7 @@ Uint32 InverseIbit(Uint32 nb, int i)
Uint32 un = 1;
if ((i > 31) || (i < 0)) {
- fprintf(stderr, "erreur, InverseIbit: la position demande n est pas dans l'intervalle");
- return (0);
+ exception(_("InverseIbit: position not in interval"));
}
un = (un << i);
return (nb ^ un);
@@ -177,7 +177,7 @@ Uint32 InverseUint32(Uint32 x)
return (val);
}
-Uint32 AndBit(Uint32 x, Uint32 y)
+Uint32 NAND(Uint32 x, Uint32 y)
{
Uint32 m = 1, z = 0;
int i;
@@ -189,7 +189,7 @@ Uint32 AndBit(Uint32 x, Uint32 y)
return (z);
}
-Uint32 OrBit(Uint32 x, Uint32 y)
+Uint32 NOR(Uint32 x, Uint32 y)
{
Uint32 m = 1, z = 0;
int i;
@@ -201,16 +201,24 @@ Uint32 OrBit(Uint32 x, Uint32 y)
return (z);
}
-Uint32 ShlUint32(Uint32 x, int i)
+Uint32 NSHLi(Uint32 x, int i)
{
return (x << i);
}
-Uint32 ShrUint32(Uint32 x, int i)
+Uint32 NSHRi(Uint32 x, int i)
{
return (x >> i);
}
+Uint32 NSHL(Uint32 x) {
+ return NSHLi(x, 1);
+}
+
+Uint32 NSHR(Uint32 x) {
+ return NSHRi(x, 1);
+}
+
Uint32 NAdditionNonSigne(Uint32 x, Uint32 y)
{
int i;
@@ -315,7 +323,7 @@ Uint32 NAdditionSigne(Uint32 x, Uint32 y)
return (add);
}
-Uint32 SoustractionNonSigne(Uint32 x, Uint32 y)
+Uint32 NSoustractionNonSigne(Uint32 x, Uint32 y)
{ /* x - y */
int i;
@@ -367,7 +375,7 @@ Uint32 SoustractionNonSigne(Uint32 x, Uint32 y)
return (sou);
}
-Uint32 SoustractionSignee(Uint32 x, Uint32 y)
+Uint32 NSoustractionSignee(Uint32 x, Uint32 y)
{ /* x - y */
int i;
@@ -640,8 +648,8 @@ Uint32 NDivisionNonSigne(Uint32 a, Uint32 b) {}
Uint32 NDivisionSigne(Uint32 a, Uint32 b) {}
Uint32 NAND(Uint32 a, Uint32 b) {}
Uint32 NOR(Uint32 a, Uint32 b) {}
-Uint32 NSHR(Uint32 a, Uint32 b) {}
-Uint32 NSHL(Uint32 a, Uint32 b) {}
+Uint32 NSHR(Uint32 a) {}
+Uint32 NSHL(Uint32 a) {}
#endif
Uint32 AdditionNonSigne(Uint32 a, Uint32 b)
@@ -737,17 +745,17 @@ Uint32 OR(Uint32 a, Uint32 b)
Uint32 SHL(Uint32 a)
{
if (Rapide) {
- return RSHL(a, b);
+ return RSHL(a);
} else {
- return NSHL(a, b);
+ return NSHL(a);
}
}
Uint32 SHR(Uint32 a)
{
if (Rapide) {
- return RSHR(a, b);
+ return RSHR(a);
} else {
- return NSHR(a, b);
+ return NSHR(a);
}
}
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 3fb24ac..0244510 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -6,9 +6,11 @@ lib/parser.c
lib/exceptions.c
lib/interne.c
lib/alu.c
-lib/simulator.c
lib/fpu.c
lib/memoire.c
lib/registre.c
+lib/linker.c
+lib/simulator.c
src/compilo.c
src/simul.c
+src/linker.c
diff --git a/po/ProjetArchi.pot b/po/ProjetArchi.pot
index 5854352..7f819b3 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 16:14+0200\n"
+"POT-Creation-Date: 2001-04-16 18:42+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"
@@ -14,289 +14,292 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: ENCODING\n"
-#: lib/assembler.c:172
+#: lib/assembler.c:179
msgid "You have to be into the .text or the .data segment to define a value."
msgstr ""
-#: lib/assembler.c:196
+#: lib/assembler.c:203
msgid "Label already defined"
msgstr ""
-#: lib/assembler.c:261
+#: lib/assembler.c:268
msgid "You can't have the startpoint elsewhere than the .text segment"
msgstr ""
-#: lib/assembler.c:405
+#: lib/assembler.c:422
msgid "Not a valid . directive"
msgstr ""
-#: lib/assembler.c:434
+#: lib/assembler.c:451
msgid "Not a valid # directive"
msgstr ""
#. Cas des directives .
-#: lib/assembler.c:442
+#: lib/assembler.c:459
msgid "Error: extra parameters to a . directive."
msgstr ""
-#: lib/assembler.c:558
+#: lib/assembler.c:575
msgid "Too much arguments to #undef"
msgstr ""
-#: lib/assembler.c:562
+#: lib/assembler.c:579
msgid "Defined symbol not found."
msgstr ""
-#: lib/assembler.c:568
+#: lib/assembler.c:585
msgid "Too much arguments to #include"
msgstr ""
-#: lib/assembler.c:570
+#: lib/assembler.c:587
#, c-format
msgid "Including file at line %i"
msgstr ""
-#: lib/assembler.c:573
+#: lib/assembler.c:590
msgid "Error reading include file"
msgstr ""
-#: lib/assembler.c:625 lib/assembler.c:631
+#: lib/assembler.c:627 lib/assembler.c:633
msgid "Zero divide."
msgstr ""
-#: lib/assembler.c:644 lib/assembler.c:651
+#: lib/assembler.c:646 lib/assembler.c:653
msgid "Error: unable to compute the immediate value"
msgstr ""
-#: lib/assembler.c:660
+#: lib/assembler.c:662
msgid "Function unknow"
msgstr ""
-#: lib/assembler.c:667
+#: lib/assembler.c:669
msgid "Addresses addition not allowed"
msgstr ""
-#: lib/assembler.c:671
+#: lib/assembler.c:673
msgid "You can only use the decal operator on labels"
msgstr ""
-#: lib/assembler.c:676 lib/assembler.c:679 lib/assembler.c:710
+#: lib/assembler.c:678 lib/assembler.c:681 lib/assembler.c:712
msgid "Address operation invalid"
msgstr ""
-#: lib/assembler.c:682 lib/assembler.c:714
+#: lib/assembler.c:684 lib/assembler.c:716
msgid "Addresses operations not allowed"
msgstr ""
-#: lib/assembler.c:685 lib/assembler.c:807 lib/assembler.c:844
-#: lib/assembler.c:918
+#: lib/assembler.c:687 lib/assembler.c:809 lib/assembler.c:846
+#: lib/assembler.c:920
msgid "Expression too complex or invalid"
msgstr ""
-#: lib/assembler.c:718 lib/assembler.c:731 lib/assembler.c:784
-#: lib/assembler.c:796 lib/assembler.c:833
+#: lib/assembler.c:720 lib/assembler.c:733 lib/assembler.c:786
+#: lib/assembler.c:798 lib/assembler.c:835
msgid "Address type not supported"
msgstr ""
-#: lib/assembler.c:800
+#: lib/assembler.c:802
msgid "Address addition not supported"
msgstr ""
-#: lib/assembler.c:837 lib/assembler.c:889
+#: lib/assembler.c:839 lib/assembler.c:891
msgid "Expression invalid"
msgstr ""
#. Bon si l'on est ici, c'est pas bon signe non plus...
-#: lib/assembler.c:962
+#: lib/assembler.c:964
msgid "Expression too complex"
msgstr ""
-#: lib/assembler.c:1026
+#: lib/assembler.c:1030
msgid "Something wrong, nested operator called..."
msgstr ""
-#: lib/assembler.c:1097
+#: lib/assembler.c:1101
msgid "Something wrong, lparenthesis operator called..."
msgstr ""
-#: lib/assembler.c:1100
+#: lib/assembler.c:1104
msgid "Something wrong, should never got here..."
msgstr ""
-#: lib/assembler.c:1268
+#: lib/assembler.c:1281
msgid "Unknow predefined string into the meta language"
msgstr ""
-#: lib/assembler.c:1292
+#: lib/assembler.c:1307
msgid "Pattern not matching..."
msgstr ""
-#: lib/assembler.c:1300 lib/assembler.c:1330 lib/assembler.c:1576
-#: lib/assembler.c:1592 lib/assembler.c:1606
+#: lib/assembler.c:1315 lib/assembler.c:1345 lib/assembler.c:1595
+#: lib/assembler.c:1611 lib/assembler.c:1625
msgid "Unknow constant type in the meta language"
msgstr ""
-#: lib/assembler.c:1312 lib/assembler.c:1354 lib/assembler.c:1381
+#: lib/assembler.c:1327 lib/assembler.c:1369 lib/assembler.c:1396
msgid ""
"Error in the metalanguage (pattern should be here if not a constant type)"
msgstr ""
-#: lib/assembler.c:1342 lib/assembler.c:1367 lib/assembler.c:1375
-#: lib/assembler.c:1634
+#: lib/assembler.c:1357 lib/assembler.c:1382 lib/assembler.c:1390
+#: lib/assembler.c:1653
msgid "Logical error in meta language"
msgstr ""
-#: lib/assembler.c:1409
+#: lib/assembler.c:1426
msgid "Unknow field in metalanguage"
msgstr ""
-#: lib/assembler.c:1419
+#: lib/assembler.c:1436
msgid "Can't evaluate directly expression"
msgstr ""
-#: lib/assembler.c:1425
+#: lib/assembler.c:1442
msgid "Value too large for field"
msgstr ""
-#: lib/assembler.c:1474 lib/assembler.c:1658
+#: lib/assembler.c:1493 lib/assembler.c:1677
msgid "Unknow instruction"
msgstr ""
-#: lib/assembler.c:1499
+#: lib/assembler.c:1518
msgid "Unknow constant"
msgstr ""
-#: lib/assembler.c:1508
+#: lib/assembler.c:1527
msgid "Bad constant for an immediate value"
msgstr ""
-#: lib/assembler.c:1525
+#: lib/assembler.c:1544
msgid "Bad constant for a string"
msgstr ""
-#: lib/assembler.c:1542
+#: lib/assembler.c:1561
msgid "Bad array size"
msgstr ""
-#: lib/assembler.c:1552
+#: lib/assembler.c:1571
msgid "You can only have an instruction into a .text segment"
msgstr ""
-#: lib/assembler.c:1555
+#: lib/assembler.c:1574
msgid "Unmatched instruction"
msgstr ""
-#: lib/assembler.c:1694 lib/assembler.c:1730
+#: lib/assembler.c:1699 lib/assembler.c:1744 lib/linker.c:45 lib/linker.c:67
msgid "Error writing file"
msgstr ""
-#: lib/assembler.c:1739 lib/assembler.c:2040
+#: lib/assembler.c:1753 lib/assembler.c:2078 lib/linker.c:56
msgid "Error reading file"
msgstr ""
-#: lib/assembler.c:1753
+#: lib/assembler.c:1770
msgid "Creating temporary files"
msgstr ""
-#: lib/assembler.c:1756
+#: lib/assembler.c:1773
msgid "Error writing file __text__"
msgstr ""
-#: lib/assembler.c:1760
+#: lib/assembler.c:1777
msgid "Error writing file __symbols__"
msgstr ""
-#: lib/assembler.c:1764
+#: lib/assembler.c:1781
msgid "Dumping memory into object file"
msgstr ""
-#: lib/assembler.c:1766
+#. Segment de texte
+#: lib/assembler.c:1786
msgid "Dumping text segment"
msgstr ""
-#: lib/assembler.c:1768 lib/assembler.c:1848 lib/assembler.c:1927
+#: lib/assembler.c:1788 lib/assembler.c:1872 lib/assembler.c:1955
#, c-format
msgid "Processing word number %i coming from line %i of the file %s."
msgstr ""
-#: lib/assembler.c:1795 lib/assembler.c:1798 lib/assembler.c:1875
-#: lib/assembler.c:1878
+#: lib/assembler.c:1816 lib/assembler.c:1819 lib/assembler.c:1900
+#: lib/assembler.c:1903
msgid "Can't evaluate expression for a direct value"
msgstr ""
-#: lib/assembler.c:1801 lib/assembler.c:1881
+#: lib/assembler.c:1823 lib/assembler.c:1907
msgid "Can only use the diff() function onto labels"
msgstr ""
-#: lib/assembler.c:1806 lib/assembler.c:1810 lib/assembler.c:1886
-#: lib/assembler.c:1890
+#: lib/assembler.c:1828 lib/assembler.c:1832 lib/assembler.c:1912
+#: lib/assembler.c:1916
msgid "Can only evaluate a diff on local symbols"
msgstr ""
-#: lib/assembler.c:1814 lib/assembler.c:1894
+#: lib/assembler.c:1836 lib/assembler.c:1920
msgid "Can only evaluate a diff on symbols from the same segment"
msgstr ""
-#: lib/assembler.c:1820 lib/assembler.c:1900
+#: lib/assembler.c:1842 lib/assembler.c:1926
msgid "Can't evaluate expression"
msgstr ""
-#: lib/assembler.c:1846
+#. Segment de data
+#: lib/assembler.c:1870
msgid "Dumping data segment"
msgstr ""
-#: lib/assembler.c:1925
+#. Segment bss
+#: lib/assembler.c:1953
msgid "Dumping bss segment"
msgstr ""
-#: lib/assembler.c:1968
+#: lib/assembler.c:1999
#, 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:1995
+#: lib/assembler.c:2031
msgid "Loading file"
msgstr ""
-#: lib/assembler.c:1996 lib/meta.c:516
+#: lib/assembler.c:2032 lib/meta.c:516
#, c-format
msgid "Opening file '%s'"
msgstr ""
-#: lib/assembler.c:2004 lib/meta.c:524
+#: lib/assembler.c:2040 lib/meta.c:524
msgid "Reading file"
msgstr ""
-#: lib/assembler.c:2006 lib/meta.c:526
+#: lib/assembler.c:2042 lib/meta.c:526
#, c-format
msgid "Reading line %i"
msgstr ""
-#: lib/assembler.c:2015
+#: lib/assembler.c:2051
#, c-format
msgid "Summering line %s"
msgstr ""
-#: lib/assembler.c:2032
+#: lib/assembler.c:2070
#, c-format
msgid "Assembling file %s...\n"
msgstr ""
-#: lib/assembler.c:2033
+#: lib/assembler.c:2071
msgid "Opening output file"
msgstr ""
-#: lib/assembler.c:2036
+#: lib/assembler.c:2074
msgid "Error writing output file"
msgstr ""
-#: lib/assembler.c:2042
+#: lib/assembler.c:2080 lib/linker.c:277
msgid "Writing output file"
msgstr ""
-#: lib/assembler.c:2043
+#: lib/assembler.c:2081
#, c-format
msgid "Generating output file %s...\n"
msgstr ""
@@ -373,7 +376,7 @@ msgstr ""
msgid "Loading meta file"
msgstr ""
-#: lib/meta.c:558 src/compilo.c:27
+#: lib/meta.c:558 src/compilo.c:30
msgid "Meta parser init failed."
msgstr ""
@@ -433,8 +436,12 @@ msgstr ""
msgid "ValeurBit: Incorrect Value"
msgstr ""
-#: lib/simulator.c:52
-msgid "Adresse: Unmatched Addr Field"
+#: lib/alu.c:100
+msgid "ValeurIbitsAuDeb: position not in interval"
+msgstr ""
+
+#: lib/alu.c:160
+msgid "InverseIbit: position not in interval"
msgstr ""
#: lib/fpu.c:14
@@ -450,62 +457,165 @@ msgstr ""
msgid "Invalid Register Descriptor"
msgstr ""
-#: src/compilo.c:15
+#: lib/linker.c:76
+msgid "premature end of file"
+msgstr ""
+
+#: lib/linker.c:129
+#, c-format
+msgid "Processing file %s"
+msgstr ""
+
+#: lib/linker.c:133
+msgid "Bad signature"
+msgstr ""
+
+#: lib/linker.c:139
+msgid "Startpoint already defined."
+msgstr ""
+
+#: lib/linker.c:149
+msgid "Reading symbols"
+msgstr ""
+
+#: lib/linker.c:165
+msgid "Reading text and data segments"
+msgstr ""
+
+#: lib/linker.c:218
+#, c-format
+msgid "Symbol %s not found"
+msgstr ""
+
+#: lib/linker.c:237 lib/linker.c:257 lib/linker.c:263
+msgid "Internal error"
+msgstr ""
+
+#: lib/linker.c:281
+msgid "No startpoint defined."
+msgstr ""
+
+#: lib/linker.c:284
+msgid "Writing headers"
+msgstr ""
+
+#: lib/linker.c:292
+msgid "Writing relocating informations"
+msgstr ""
+
+#: lib/linker.c:295
+msgid "Writing text segments"
+msgstr ""
+
+#: lib/linker.c:300
+msgid "Writing data segments"
+msgstr ""
+
+#: lib/linker.c:307
+#, c-format
+msgid "Statistics: %i words of text, %i words of data and reserving %i words\n"
+msgstr ""
+
+#: lib/linker.c:309
+#, c-format
+msgid "Output file size: %i words containing %i relocating offsets.\n"
+msgstr ""
+
+#: lib/simulator.c:43
+msgid "Adresse: Call With Invalid r/m Field State ( r/m=00 )"
+msgstr ""
+
+#: lib/simulator.c:56
+msgid "Adresse: Unmatched Addr Field"
+msgstr ""
+
+#. arg2 = imm32
+#: lib/simulator.c:222
+msgid "MOV: Memory to Memory Forbidden On This Type Of Processor"
+msgstr ""
+
+#: lib/simulator.c:344
+msgid "DecodeExec: Invalid Opcode"
+msgstr ""
+
+#: src/compilo.c:16
msgid ""
"Assembler v1.0\n"
"\n"
msgstr ""
-#: src/compilo.c:19
+#: src/compilo.c:21
msgid "Usage: compilo program.asm objet.out\n"
msgstr ""
-#: src/compilo.c:24
+#: src/compilo.c:27
msgid " o Initialising the meta engine... "
msgstr ""
-#: src/compilo.c:30
+#: src/compilo.c:33
msgid ""
" Done!\n"
" o Meta language loading... "
msgstr ""
-#: src/compilo.c:33
+#: src/compilo.c:36
msgid "Meta language loading failed."
msgstr ""
-#: src/compilo.c:36
+#: src/compilo.c:39
msgid ""
" Done!\n"
" o Initialising the assembler core..."
msgstr ""
-#: src/compilo.c:39
+#: src/compilo.c:42
msgid "Assembler core init failed."
msgstr ""
-#: src/compilo.c:42
+#: src/compilo.c:45 src/linker.c:27
msgid " Done!\n"
msgstr ""
-#: src/compilo.c:51
+#: src/compilo.c:56 src/linker.c:37
msgid "Signal received: segfault"
msgstr ""
-#: src/compilo.c:61
+#: src/compilo.c:68 src/linker.c:51
msgid ""
"\n"
"Performing initialisation...\n"
"\n"
msgstr ""
-#: src/compilo.c:66
+#: src/compilo.c:73 src/linker.c:63
msgid ""
"\n"
"Performing shutdown...\n"
"\n"
msgstr ""
-#: src/compilo.c:69
+#: src/compilo.c:76 src/linker.c:66
msgid "Exitting, bye!\n"
msgstr ""
+
+#: src/linker.c:13
+msgid ""
+"Linker v1.0\n"
+"\n"
+msgstr ""
+
+#: src/linker.c:18
+msgid "Usage: linker obj1 [obj2 [obj3 [...]]] binary\n"
+msgstr ""
+
+#: src/linker.c:24
+msgid " o Initialising the linker... "
+msgstr ""
+
+#: src/linker.c:54
+msgid "Linking files...\n"
+msgstr ""
+
+#: src/linker.c:60
+msgid "Generating output file...\n"
+msgstr ""
diff --git a/po/fr.po b/po/fr.po
index 6e503c2..7f819b3 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2001-04-15 17:20+0200\n"
+"POT-Creation-Date: 2001-04-16 18:42+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"
@@ -14,219 +14,294 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: ENCODING\n"
-#: lib/assembler.c:167
+#: lib/assembler.c:179
msgid "You have to be into the .text or the .data segment to define a value."
msgstr ""
-#: lib/assembler.c:190
+#: lib/assembler.c:203
msgid "Label already defined"
msgstr ""
-#: lib/assembler.c:253
+#: lib/assembler.c:268
msgid "You can't have the startpoint elsewhere than the .text segment"
msgstr ""
-#: lib/assembler.c:394
+#: lib/assembler.c:422
msgid "Not a valid . directive"
msgstr ""
-#: lib/assembler.c:423
+#: lib/assembler.c:451
msgid "Not a valid # directive"
msgstr ""
#. Cas des directives .
-#: lib/assembler.c:431
+#: lib/assembler.c:459
msgid "Error: extra parameters to a . directive."
msgstr ""
-#: lib/assembler.c:540
+#: lib/assembler.c:575
msgid "Too much arguments to #undef"
msgstr ""
-#: lib/assembler.c:544
+#: lib/assembler.c:579
msgid "Defined symbol not found."
msgstr ""
-#: lib/assembler.c:550
+#: lib/assembler.c:585
msgid "Too much arguments to #include"
msgstr ""
-#: lib/assembler.c:552
+#: lib/assembler.c:587
#, c-format
msgid "Including file at line %i"
msgstr ""
-#: lib/assembler.c:555
+#: lib/assembler.c:590
msgid "Error reading include file"
msgstr ""
-#: lib/assembler.c:607 lib/assembler.c:613
+#: lib/assembler.c:627 lib/assembler.c:633
msgid "Zero divide."
msgstr ""
-#: lib/assembler.c:626 lib/assembler.c:633
+#: lib/assembler.c:646 lib/assembler.c:653
msgid "Error: unable to compute the immediate value"
msgstr ""
-#: lib/assembler.c:642
+#: lib/assembler.c:662
msgid "Function unknow"
msgstr ""
-#: lib/assembler.c:649
+#: lib/assembler.c:669
msgid "Addresses addition not allowed"
msgstr ""
-#: lib/assembler.c:653
+#: lib/assembler.c:673
msgid "You can only use the decal operator on labels"
msgstr ""
-#: lib/assembler.c:658 lib/assembler.c:661 lib/assembler.c:692
+#: lib/assembler.c:678 lib/assembler.c:681 lib/assembler.c:712
msgid "Address operation invalid"
msgstr ""
-#: lib/assembler.c:664 lib/assembler.c:696
+#: lib/assembler.c:684 lib/assembler.c:716
msgid "Addresses operations not allowed"
msgstr ""
-#: lib/assembler.c:667 lib/assembler.c:789 lib/assembler.c:826
-#: lib/assembler.c:900
+#: lib/assembler.c:687 lib/assembler.c:809 lib/assembler.c:846
+#: lib/assembler.c:920
msgid "Expression too complex or invalid"
msgstr ""
-#: lib/assembler.c:700 lib/assembler.c:713 lib/assembler.c:766
-#: lib/assembler.c:778 lib/assembler.c:815
+#: lib/assembler.c:720 lib/assembler.c:733 lib/assembler.c:786
+#: lib/assembler.c:798 lib/assembler.c:835
msgid "Address type not supported"
msgstr ""
-#: lib/assembler.c:782
+#: lib/assembler.c:802
msgid "Address addition not supported"
msgstr ""
-#: lib/assembler.c:819 lib/assembler.c:871
+#: lib/assembler.c:839 lib/assembler.c:891
msgid "Expression invalid"
msgstr ""
#. Bon si l'on est ici, c'est pas bon signe non plus...
-#: lib/assembler.c:944
+#: lib/assembler.c:964
msgid "Expression too complex"
msgstr ""
-#: lib/assembler.c:1007
+#: lib/assembler.c:1030
msgid "Something wrong, nested operator called..."
msgstr ""
-#: lib/assembler.c:1078
+#: lib/assembler.c:1101
msgid "Something wrong, lparenthesis operator called..."
msgstr ""
-#: lib/assembler.c:1081
+#: lib/assembler.c:1104
msgid "Something wrong, should never got here..."
msgstr ""
-#: lib/assembler.c:1248
+#: lib/assembler.c:1281
msgid "Unknow predefined string into the meta language"
msgstr ""
-#: lib/assembler.c:1305
+#: lib/assembler.c:1307
msgid "Pattern not matching..."
msgstr ""
-#: lib/assembler.c:1316 lib/assembler.c:1348 lib/assembler.c:1602
-#: lib/assembler.c:1620
+#: lib/assembler.c:1315 lib/assembler.c:1345 lib/assembler.c:1595
+#: lib/assembler.c:1611 lib/assembler.c:1625
msgid "Unknow constant type in the meta language"
msgstr ""
-#: lib/assembler.c:1328 lib/assembler.c:1372 lib/assembler.c:1402
+#: lib/assembler.c:1327 lib/assembler.c:1369 lib/assembler.c:1396
msgid ""
"Error in the metalanguage (pattern should be here if not a constant type)"
msgstr ""
-#: lib/assembler.c:1360 lib/assembler.c:1388 lib/assembler.c:1396
-#: lib/assembler.c:1643
+#: lib/assembler.c:1357 lib/assembler.c:1382 lib/assembler.c:1390
+#: lib/assembler.c:1653
msgid "Logical error in meta language"
msgstr ""
-#: lib/assembler.c:1431
+#: lib/assembler.c:1426
msgid "Unknow field in metalanguage"
msgstr ""
-#: lib/assembler.c:1442
+#: lib/assembler.c:1436
msgid "Can't evaluate directly expression"
msgstr ""
-#: lib/assembler.c:1448
+#: lib/assembler.c:1442
msgid "Value too large for field"
msgstr ""
-#: lib/assembler.c:1500 lib/assembler.c:1669
+#: lib/assembler.c:1493 lib/assembler.c:1677
msgid "Unknow instruction"
msgstr ""
-#: lib/assembler.c:1525
+#: lib/assembler.c:1518
msgid "Unknow constant"
msgstr ""
-#: lib/assembler.c:1534
+#: lib/assembler.c:1527
msgid "Bad constant for an immediate value"
msgstr ""
-#: lib/assembler.c:1551
+#: lib/assembler.c:1544
msgid "Bad constant for a string"
msgstr ""
-#: lib/assembler.c:1568
+#: lib/assembler.c:1561
msgid "Bad array size"
msgstr ""
-#: lib/assembler.c:1576
+#: lib/assembler.c:1571
msgid "You can only have an instruction into a .text segment"
msgstr ""
-#: lib/assembler.c:1579
+#: lib/assembler.c:1574
msgid "Unmatched instruction"
msgstr ""
-#: lib/assembler.c:1635
-msgid "Syntax error in meta language"
+#: lib/assembler.c:1699 lib/assembler.c:1744 lib/linker.c:45 lib/linker.c:67
+msgid "Error writing file"
+msgstr ""
+
+#: lib/assembler.c:1753 lib/assembler.c:2078 lib/linker.c:56
+msgid "Error reading file"
+msgstr ""
+
+#: lib/assembler.c:1770
+msgid "Creating temporary files"
+msgstr ""
+
+#: lib/assembler.c:1773
+msgid "Error writing file __text__"
+msgstr ""
+
+#: lib/assembler.c:1777
+msgid "Error writing file __symbols__"
+msgstr ""
+
+#: lib/assembler.c:1781
+msgid "Dumping memory into object file"
+msgstr ""
+
+#. Segment de texte
+#: lib/assembler.c:1786
+msgid "Dumping text segment"
msgstr ""
-#: lib/assembler.c:1708
+#: lib/assembler.c:1788 lib/assembler.c:1872 lib/assembler.c:1955
+#, c-format
+msgid "Processing word number %i coming from line %i of the file %s."
+msgstr ""
+
+#: lib/assembler.c:1816 lib/assembler.c:1819 lib/assembler.c:1900
+#: lib/assembler.c:1903
+msgid "Can't evaluate expression for a direct value"
+msgstr ""
+
+#: lib/assembler.c:1823 lib/assembler.c:1907
+msgid "Can only use the diff() function onto labels"
+msgstr ""
+
+#: lib/assembler.c:1828 lib/assembler.c:1832 lib/assembler.c:1912
+#: lib/assembler.c:1916
+msgid "Can only evaluate a diff on local symbols"
+msgstr ""
+
+#: lib/assembler.c:1836 lib/assembler.c:1920
+msgid "Can only evaluate a diff on symbols from the same segment"
+msgstr ""
+
+#: lib/assembler.c:1842 lib/assembler.c:1926
+msgid "Can't evaluate expression"
+msgstr ""
+
+#. Segment de data
+#: lib/assembler.c:1870
+msgid "Dumping data segment"
+msgstr ""
+
+#. Segment bss
+#: lib/assembler.c:1953
+msgid "Dumping bss segment"
+msgstr ""
+
+#: lib/assembler.c:1999
+#, 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:2031
msgid "Loading file"
msgstr ""
-#: lib/assembler.c:1709 lib/meta.c:516
+#: lib/assembler.c:2032 lib/meta.c:516
#, c-format
msgid "Opening file '%s'"
msgstr ""
-#: lib/assembler.c:1717 lib/meta.c:524
+#: lib/assembler.c:2040 lib/meta.c:524
msgid "Reading file"
msgstr ""
-#: lib/assembler.c:1719 lib/meta.c:526
+#: lib/assembler.c:2042 lib/meta.c:526
#, c-format
msgid "Reading line %i"
msgstr ""
-#: lib/assembler.c:1728
+#: lib/assembler.c:2051
#, c-format
msgid "Summering line %s"
msgstr ""
-#: lib/assembler.c:1744
+#: lib/assembler.c:2070
+#, c-format
+msgid "Assembling file %s...\n"
+msgstr ""
+
+#: lib/assembler.c:2071
msgid "Opening output file"
msgstr ""
-#: lib/assembler.c:1747
+#: lib/assembler.c:2074
msgid "Error writing output file"
msgstr ""
-#: lib/assembler.c:1751
-msgid "Error reading file"
+#: lib/assembler.c:2080 lib/linker.c:277
+msgid "Writing output file"
msgstr ""
-#: lib/assembler.c:1753
-msgid "Writing output file"
+#: lib/assembler.c:2081
+#, c-format
+msgid "Generating output file %s...\n"
msgstr ""
#: lib/hash.c:14
@@ -301,7 +376,7 @@ msgstr ""
msgid "Loading meta file"
msgstr ""
-#: lib/meta.c:558 src/compilo.c:22
+#: lib/meta.c:558 src/compilo.c:30
msgid "Meta parser init failed."
msgstr ""
@@ -349,62 +424,198 @@ msgstr ""
msgid "Error context empty, but popcontext() called."
msgstr ""
+#: lib/interne.c:25
+msgid "ResetBit: Incorrect Value"
+msgstr ""
+
+#: lib/interne.c:37
+msgid "SetBit: Incorrect Value"
+msgstr ""
+
+#: lib/interne.c:49
+msgid "ValeurBit: Incorrect Value"
+msgstr ""
+
+#: lib/alu.c:100
+msgid "ValeurIbitsAuDeb: position not in interval"
+msgstr ""
+
+#: lib/alu.c:160
+msgid "InverseIbit: position not in interval"
+msgstr ""
+
#: lib/fpu.c:14
msgid "FPU not implemented"
msgstr ""
-#: src/compilo.c:15
+#: lib/memoire.c:25 lib/memoire.c:37
+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
+msgid "Invalid Register Descriptor"
+msgstr ""
+
+#: lib/linker.c:76
+msgid "premature end of file"
+msgstr ""
+
+#: lib/linker.c:129
+#, c-format
+msgid "Processing file %s"
+msgstr ""
+
+#: lib/linker.c:133
+msgid "Bad signature"
+msgstr ""
+
+#: lib/linker.c:139
+msgid "Startpoint already defined."
+msgstr ""
+
+#: lib/linker.c:149
+msgid "Reading symbols"
+msgstr ""
+
+#: lib/linker.c:165
+msgid "Reading text and data segments"
+msgstr ""
+
+#: lib/linker.c:218
+#, c-format
+msgid "Symbol %s not found"
+msgstr ""
+
+#: lib/linker.c:237 lib/linker.c:257 lib/linker.c:263
+msgid "Internal error"
+msgstr ""
+
+#: lib/linker.c:281
+msgid "No startpoint defined."
+msgstr ""
+
+#: lib/linker.c:284
+msgid "Writing headers"
+msgstr ""
+
+#: lib/linker.c:292
+msgid "Writing relocating informations"
+msgstr ""
+
+#: lib/linker.c:295
+msgid "Writing text segments"
+msgstr ""
+
+#: lib/linker.c:300
+msgid "Writing data segments"
+msgstr ""
+
+#: lib/linker.c:307
+#, c-format
+msgid "Statistics: %i words of text, %i words of data and reserving %i words\n"
+msgstr ""
+
+#: lib/linker.c:309
+#, c-format
+msgid "Output file size: %i words containing %i relocating offsets.\n"
+msgstr ""
+
+#: lib/simulator.c:43
+msgid "Adresse: Call With Invalid r/m Field State ( r/m=00 )"
+msgstr ""
+
+#: lib/simulator.c:56
+msgid "Adresse: Unmatched Addr Field"
+msgstr ""
+
+#. arg2 = imm32
+#: lib/simulator.c:222
+msgid "MOV: Memory to Memory Forbidden On This Type Of Processor"
+msgstr ""
+
+#: lib/simulator.c:344
+msgid "DecodeExec: Invalid Opcode"
+msgstr ""
+
+#: src/compilo.c:16
msgid ""
-"Assembler\n"
+"Assembler v1.0\n"
"\n"
msgstr ""
-#: src/compilo.c:19
+#: src/compilo.c:21
+msgid "Usage: compilo program.asm objet.out\n"
+msgstr ""
+
+#: src/compilo.c:27
msgid " o Initialising the meta engine... "
msgstr ""
-#: src/compilo.c:25
+#: src/compilo.c:33
msgid ""
" Done!\n"
" o Meta language loading... "
msgstr ""
-#: src/compilo.c:28
+#: src/compilo.c:36
msgid "Meta language loading failed."
msgstr ""
-#: src/compilo.c:31
+#: src/compilo.c:39
msgid ""
" Done!\n"
" o Initialising the assembler core..."
msgstr ""
-#: src/compilo.c:34
+#: src/compilo.c:42
msgid "Assembler core init failed."
msgstr ""
-#: src/compilo.c:37
+#: src/compilo.c:45 src/linker.c:27
msgid " Done!\n"
msgstr ""
-#: src/compilo.c:46
+#: src/compilo.c:56 src/linker.c:37
msgid "Signal received: segfault"
msgstr ""
-#: src/compilo.c:54
+#: src/compilo.c:68 src/linker.c:51
msgid ""
"\n"
"Performing initialisation...\n"
"\n"
msgstr ""
-#: src/compilo.c:59
+#: src/compilo.c:73 src/linker.c:63
msgid ""
"\n"
"Performing shutdown...\n"
"\n"
msgstr ""
-#: src/compilo.c:62
+#: src/compilo.c:76 src/linker.c:66
msgid "Exitting, bye!\n"
msgstr ""
+
+#: src/linker.c:13
+msgid ""
+"Linker v1.0\n"
+"\n"
+msgstr ""
+
+#: src/linker.c:18
+msgid "Usage: linker obj1 [obj2 [obj3 [...]]] binary\n"
+msgstr ""
+
+#: src/linker.c:24
+msgid " o Initialising the linker... "
+msgstr ""
+
+#: src/linker.c:54
+msgid "Linking files...\n"
+msgstr ""
+
+#: src/linker.c:60
+msgid "Generating output file...\n"
+msgstr ""