LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Sponsors
  • Mirrors
  • Logos
  • Contact us
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Cvs-checkins > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: OpenCores CVS Agent<cvs@o...>
    Date: Thu Jan 27 14:18:48 CET 2005
    Subject: [cvs-checkins] MODIFIED: or1k ...
    Top
    Date: 00/05/01 27:14:18

    Modified: or1k/or1ksim/cpu/or1k/opcode or32.h
    Log:
    Mark wich operand is the destination operand in the architechture definition


    Revision Changes Path
    1.19 +10 -2 or1k/or1ksim/cpu/or1k/opcode/or32.h

    http://www.opencores.org/cvsweb.shtml/or1k/or1ksim/cpu/or1k/opcode/or32.h.diff?r1=1.18&r2=1.19

    (In the diff below, changes in quantity of whitespace are not shown.)

    Index: or32.h
    ===================================================================
    RCS file: /cvsroot/nogj/or1k/or1ksim/cpu/or1k/opcode/or32.h,v
    retrieving revision 1.18
    retrieving revision 1.19
    diff -u -b -r1.18 -r1.19
    --- or32.h 11 Jan 2005 15:41:54 -0000 1.18
    +++ or32.h 27 Jan 2005 13:17:08 -0000 1.19
    @@ -61,7 +61,7 @@
    ,() Itself. Characters appears in the assembly code.
    rA Register operand.
    rB Register operand.
    - rD Register operand.
    + rD Register operand (destination).
    I An immediate operand, range -32768 to 32767.
    J An immediate operand, range . (unused)
    K An immediate operand, range 0 to 65535.
    @@ -74,7 +74,7 @@
    /* Opcode and operand encoding. */
    char *encoding;

    -#if defined HAS_EXECUTION && !SIMPLE_EXECUTION
    +#if defined(HAS_EXECUTION) && !SIMPLE_EXECUTION
    char *function_name;
    #else /* defined HAS_EXECUTION && !SIMPLE_EXECUTION */
    void (*exec)();
    @@ -83,13 +83,21 @@
    unsigned int flags;
    };

    +/* This operand is the last in the list */
    #define OPTYPE_LAST (0x80000000)
    +/* This operand marks the end of the operand sequence (for things like I(rD)) */
    #define OPTYPE_OP (0x40000000)
    +/* The operand specifies a register index */
    #define OPTYPE_REG (0x20000000)
    +/* The operand must be sign extended */
    #define OPTYPE_SIG (0x10000000)
    +/* Operand is a relative address, the `I' in `I(rD)' */
    #define OPTYPE_DIS (0x08000000)
    +/* The operand is a destination */
    #define OPTYPE_DST (0x04000000)
    +/* Which bit of the operand is the sign bit */
    #define OPTYPE_SBIT (0x00001F00)
    +/* Amount to shift the instruction word right to get the operand */
    #define OPTYPE_SHR (0x0000001F)
    #define OPTYPE_SBIT_SHR (8)




     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.