OpenCores
URL https://opencores.org/ocsvn/zipcpu/zipcpu/trunk

Subversion Repositories zipcpu

[/] [zipcpu/] [trunk/] [sw/] [zasm/] [asmdata.h] - Diff between revs 46 and 69

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 46 Rev 69
Line 11... Line 11...
//              symbol table access and the final output object file together
//              symbol table access and the final output object file together
//              with its necessary relocations.  Yes, linking is done, but as
//              with its necessary relocations.  Yes, linking is done, but as
//              part of the assembler and not part of a separate linker.
//              part of the assembler and not part of a separate linker.
//
//
// Creator:     Dan Gisselquist, Ph.D.
// Creator:     Dan Gisselquist, Ph.D.
//              Gisselquist Tecnology, LLC
//              Gisselquist Technology, LLC
//
//
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
//
//
// Copyright (C) 2015, Gisselquist Technology, LLC
// Copyright (C) 2015, Gisselquist Technology, LLC
//
//
Line 55... Line 55...
//      TST     OPCND
//      TST     OPCND
        // Dual operand instructions that take conditions
        // Dual operand instructions that take conditions
        OP_CMP, OP_TST, OP_MOV, OP_LDIHI, OP_LDILO, OP_MPYU, OP_MPYS, OP_ROL,
        OP_CMP, OP_TST, OP_MOV, OP_LDIHI, OP_LDILO, OP_MPYU, OP_MPYS, OP_ROL,
                OP_SUB, OP_AND, OP_ADD, OP_OR, OP_XOR,
                OP_SUB, OP_AND, OP_ADD, OP_OR, OP_XOR,
                OP_LSL, OP_ASR, OP_LSR,
                OP_LSL, OP_ASR, OP_LSR,
 
        // New bit-wise operations
 
        OP_BREV, OP_POPC,
 
        // New divide instruction
 
        OP_DIVU, OP_DIVS,
 
        // New floating point instructions
 
        OP_FPADD, OP_FPSUB, OP_FPMUL, OP_FPDIV, OP_FPCVT, OP_FPINT,
        // Memory operands/operators
        // Memory operands/operators
        OP_LOD, OP_STO,
        OP_LOD, OP_STO,
        // Dual operand instructions that do not take conditions
        // Dual operand instructions that do not take conditions
        OP_LDI,
        OP_LDI,
        // Single operand instructions that can take conditions
        // Single operand instructions that can take conditions
        OP_CLRF, OP_JMP, OP_LJMP, OP_NOT,
        OP_CLRF, OP_JMP, OP_LJMP, OP_NOT,
        // Branch operands
        // Branch operands
        OP_BRA, OP_BZ, OP_BNZ, OP_BGE, OP_BGT, OP_BLT, OP_BRC, OP_BRV,
        OP_BRA, OP_BLT, OP_BZ, OP_BNZ, OP_BGT, OP_BGE, OP_BRC, OP_BRV,
        // Single operand instructions that have no explicit conditions
        // Single operand instructions that have no explicit conditions
        OP_CLR, OP_TRAP, OP_NEG,
        OP_CLR, OP_TRAP, OP_NEG,
        // BAREOPs that can have conditions
        // BAREOPs that can have conditions
        OP_HALT,  OP_RTU, OP_BUSY, OP_RETN,
        OP_HALT,  OP_RTU, OP_BUSY, OP_RETN,
        // BAREOPs without conditions
        // BAREOPs without conditions
        OP_BREAK, OP_NOOP,
        OP_BREAK, OP_NOOP, OP_LOCK,
        // Error condition--undefined operand
        // Error condition--undefined operand
        OP_NONE
        OP_NONE
} LEXOPCODE;
} LEXOPCODE;
 
 
#define DEFAULT_LINE    0x4e000000
#define DEFAULT_LINE    0x76000000
 
 
class   ASMLINE {
class   ASMLINE {
public:
public:
        char    m_state;
        char    m_state;
        int     m_lineno;
        int     m_lineno;

powered by: WebSVN 2.1.0

© copyright 1999-2022 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.