From c9ad75bd7d192a3c21402de7d0de3bfb907ed842 Mon Sep 17 00:00:00 2001 From: Pixel <> Date: Mon, 16 Apr 2001 01:01:29 +0000 Subject: asm --- lib/assembler.c | 3 +-- lib/instructions.txt | 32 ++++++++++++++++---------------- 2 files changed, 17 insertions(+), 18 deletions(-) (limited to 'lib') diff --git a/lib/assembler.c b/lib/assembler.c index 79fcbce..dec26e8 100644 --- a/lib/assembler.c +++ b/lib/assembler.c @@ -1371,8 +1371,7 @@ static void evaluate_pattern(_TableauVariable * it, expression_t * e) m = m->left; if (m->string) { if (m->type) { - if (strcmp(m->name, "I") || strcmp(m->string, "O") - || strcmp(m->string, "o")) { + if (strcmp(m->name, "I") || strcmp(m->string, "O")) { exception(1, _("Unknow constant type in the meta language")); } tv = 0; diff --git a/lib/instructions.txt b/lib/instructions.txt index d93edba..8b04e1b 100644 --- a/lib/instructions.txt +++ b/lib/instructions.txt @@ -9,7 +9,7 @@ Pr:R0;R1;R2;R3;R4;R5;R6;R7;R8;R9;R10;R11;R12;R13;R14;R15;R16;R17;R18;R19;R20;R21 # Pattern des adressages # .O = Adresse absolue (relogée) -# .o = Adresse relative à l'instruction en cours (ex: Label, Label + 2, __current__ + 4) +# .O = Adresse relative à l'instruction en cours (ex: Label, Label + 2, __current__ + 4) Pm:regop=.Pr;.I=.O;[regop=.Pr;.I=.O[regop=.Pr # bits 3 - 2 @@ -94,24 +94,24 @@ I:NOP;op=0x9 # 10 test1 && !test2 == !(!test1 || test2) # 11 test1 || !test2 == !(!test1 && test2) -I:JE c1=.Pr,c2=.Pr,.I=.o;op=0xb;e=0x0 -I:JNE c1=.Pr,c2=.Pr,.I=.o;op=0xb;e=0x1 -I:JL c1=.Pr,c2=.Pr,.I=.o;op=0xb;e=0x2 -I:JLE c1=.Pr,c2=.Pr,.I=.o;op=0xb;e=0x3 -I:JG c2=.Pr,c1=.Pr,.I=.o;op=0xb;e=0x2 -I:JGE c2=.Pr,c1=.Pr,.I=.o;op=0xb;e=0x3 +I:JE c1=.Pr,c2=.Pr,.I=.O;op=0xa;e=0x0 +I:JNE c1=.Pr,c2=.Pr,.I=.O;op=0xa;e=0x1 +I:JL c1=.Pr,c2=.Pr,.I=.O;op=0xa;e=0x2 +I:JLE c1=.Pr,c2=.Pr,.I=.O;op=0xa;e=0x3 +I:JG c2=.Pr,c1=.Pr,.I=.O;op=0xa;e=0x2 +I:JGE c2=.Pr,c1=.Pr,.I=.O;op=0xa;e=0x3 -I:JO .I=.o;op=0xb;e=0x10 -I:JZ .I=.o;op=0xb;e=0x14 -I:JS .I=.o;op=0xb;e=0x18 -I:JP .I=.o;op=0xb;e=0x1c +I:JO .I=.O;op=0xa;e=0x10 +I:JZ .I=.O;op=0xa;e=0x14 +I:JS .I=.O;op=0xa;e=0x18 +I:JP .I=.O;op=0xa;e=0x1c -I:JNO .I=.o;op=0xb;e=0x30 -I:JNZ .I=.o;op=0xb;e=0x34 -I:JNS .I=.o;op=0xb;e=0x38 -I:JNP .I=.o;op=0xb;e=0x3c +I:JNO .I=.O;op=0xa;e=0x30 +I:JNZ .I=.O;op=0xa;e=0x34 +I:JNS .I=.O;op=0xa;e=0x38 +I:JNP .I=.O;op=0xa;e=0x3c -I:JMP .I=.o;op=0x0d;e=0x2 +I:JMP .I=.O;op=0x0c;e=0x2 I:HALT;op=0x7f I:RESET;op=0x7f;e=1 -- cgit v1.2.3