summaryrefslogtreecommitdiff
path: root/lib/assembler.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/assembler.c')
-rw-r--r--lib/assembler.c11
1 files changed, 9 insertions, 2 deletions
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;