ref: feadd864d7df11888279d5706d96c14ed1df7ef9
parent: add7492e462fcdbe0c88732cc0c60e52d248bf0a
author: Roberto E. Vargas Caballero <k0ga@shike2.com>
date: Thu Sep 28 05:18:37 EDT 2017
[as] Change direct to noargs A direct address mode is when the address is explicit written in the instruction. We were using direct for something totally different, that was instructions without arguments, and for this is better to use noargs
--- a/as/ins.c
+++ b/as/ins.c
@@ -4,7 +4,7 @@
#include "as.h"
void
-direct(Op *op, Node **args)
+noargs(Op *op, Node **args)
{
emit(cursec, op->bytes, op->size);
}
--- a/as/target/x80/x80.dat
+++ b/as/target/x80/x80.dat
@@ -14,40 +14,40 @@
.DQ imm64+ 0 none defq Z80,R800,GB80
.DEFQ imm64+ 0 none defq Z80,R800,GB80
.EQU imm16 0 none equ Z80,R800,GB80
-NOP none 1 0x00 direct Z80,R800,GB80
-EI none 1 0xfb direct Z80,R800,GB80
-DI none 1 0xf3 direct Z80,R800,GB80
-HALT none 1 0x76 direct Z80,R800,GB80
-SCF none 1 0x37 direct Z80,R800,GB80
-CCF none 1 0x3f direct Z80,R800,GB80
-NEG none 2 0xed,0x44 direct Z80,R800
-CPL none 1 0x2f direct Z80,R800,GB80
-DAA none 1 0x27 direct Z80,R800,GB80
-EI none 1 0xfb direct Z80,R800,GB80
-DI none 1 0xf3 direct Z80,R800,GB80
-HALT none 1 0x76 direct Z80,R800,GB80
-SCF none 1 0x37 direct Z80,R800,GB80
-RET none 1 0xc9 direct Z80,R800,GB80
-EXX none 1 0xd9 direct Z80,R800
-LDI none 2 0xed,0xa0 direct Z80,R800
-LDIR none 2 0xed,0xb0 direct Z80,R800
-LDD none 2 0xed,0xa8 direct Z80,R800
-LDDR none 2 0xed,0xb8 direct Z80,R800
-CPI none 2 0xed,0xa1 direct Z80,R800
-CPIR none 2 0xed,0xb1 direct Z80,R800
-CPD none 2 0xed,0xa9 direct Z80,R800
-CPDR none 2 0xed,0xb9 direct Z80,R800
-RLCA none 1 0x07 direct Z80,R800,GB80
-RLA none 1 0x17 direct Z80,R800,GB80
-RRCA none 1 0x0f direct Z80,R800,GB80
-RRA none 1 0x1f direct Z80,R800,GB80
-RLD none 2 0xed,0x6f direct Z80,R800
-RRD none 2 0xed,0x67 direct Z80,R800
-INI none 2 0xed,0xa2 direct Z80,R800
-INIR none 2 0xed,0xb2 direct Z80,R800
-IND none 2 0xed,0xaa direct Z80,R800
-INDR none 2 0xed,0xba direct Z80,R800
-OUTI none 2 0xed,0xa3 direct Z80,R800
-OTIR none 2 0xed,0xb3 direct Z80,R800
-OUTD none 2 0xed,0xab direct Z80,R800
-OTDR none 2 0xed,0xbb direct Z80,R800
+NOP none 1 0x00 noargs Z80,R800,GB80
+EI none 1 0xfb noargs Z80,R800,GB80
+DI none 1 0xf3 noargs Z80,R800,GB80
+HALT none 1 0x76 noargs Z80,R800,GB80
+SCF none 1 0x37 noargs Z80,R800,GB80
+CCF none 1 0x3f noargs Z80,R800,GB80
+NEG none 2 0xed,0x44 noargs Z80,R800
+CPL none 1 0x2f noargs Z80,R800,GB80
+DAA none 1 0x27 noargs Z80,R800,GB80
+EI none 1 0xfb noargs Z80,R800,GB80
+DI none 1 0xf3 noargs Z80,R800,GB80
+HALT none 1 0x76 noargs Z80,R800,GB80
+SCF none 1 0x37 noargs Z80,R800,GB80
+RET none 1 0xc9 noargs Z80,R800,GB80
+EXX none 1 0xd9 noargs Z80,R800
+LDI none 2 0xed,0xa0 noargs Z80,R800
+LDIR none 2 0xed,0xb0 noargs Z80,R800
+LDD none 2 0xed,0xa8 noargs Z80,R800
+LDDR none 2 0xed,0xb8 noargs Z80,R800
+CPI none 2 0xed,0xa1 noargs Z80,R800
+CPIR none 2 0xed,0xb1 noargs Z80,R800
+CPD none 2 0xed,0xa9 noargs Z80,R800
+CPDR none 2 0xed,0xb9 noargs Z80,R800
+RLCA none 1 0x07 noargs Z80,R800,GB80
+RLA none 1 0x17 noargs Z80,R800,GB80
+RRCA none 1 0x0f noargs Z80,R800,GB80
+RRA none 1 0x1f noargs Z80,R800,GB80
+RLD none 2 0xed,0x6f noargs Z80,R800
+RRD none 2 0xed,0x67 noargs Z80,R800
+INI none 2 0xed,0xa2 noargs Z80,R800
+INIR none 2 0xed,0xb2 noargs Z80,R800
+IND none 2 0xed,0xaa noargs Z80,R800
+INDR none 2 0xed,0xba noargs Z80,R800
+OUTI none 2 0xed,0xa3 noargs Z80,R800
+OTIR none 2 0xed,0xb3 noargs Z80,R800
+OUTD none 2 0xed,0xab noargs Z80,R800
+OTDR none 2 0xed,0xbb noargs Z80,R800
--- a/as/target/x86/x86.dat
+++ b/as/target/x86/x86.dat
@@ -19,5 +19,5 @@
.EQU imm16 0 none equ BITS16
.EQU imm32 0 none equ BITS32
.EQU imm64 0 none equ BITS64
-NOP none 1 0x90 direct BITS16,BITS32,BITS64
-RET none 1 0xc3 direct BITS16,BITS32,BITS64
+NOP none 1 0x90 noargs BITS16,BITS32,BITS64
+RET none 1 0xc3 noargs BITS16,BITS32,BITS64