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

Subversion Repositories scarm

[/] [scarm/] [branches/] [release_0_1/] [src/] [scHWT.h] - Blame information for rev 8

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 5 zhong
// scHWT.h: interface for the scHWT class.
2
//
3
//////////////////////////////////////////////////////////////////////
4
 
5
#if !defined(AFX_SCHWT_H__8C326338_AB49_11D6_BB1E_000000000000__INCLUDED_)
6
#define AFX_SCHWT_H__8C326338_AB49_11D6_BB1E_000000000000__INCLUDED_
7
 
8
#if _MSC_VER > 1000
9
#pragma once
10
#endif // _MSC_VER > 1000
11
 
12
#include "..\SRC\scARMInstruction.h"
13
#include "scTypes.h"    // Added by ClassView
14
#include "scRegisterFile.h"     // Added by ClassView
15
const uint32_t HWT_MASK  =  0x0E000090;
16
const uint32_t HWT_SIG   =  0x00000090;
17
class scHWT : public scARMInstruction
18
{
19
        /* Half-word and signed bype transfer - two formats, but use same fields, so
20
   I've only defined it once. */
21
typedef struct HWTAG
22
{
23
  uint32_t rm    : 4;
24
  uint32_t pad3  : 1;
25
  uint32_t h     : 1;
26
  uint32_t s     : 1;
27
  uint32_t pad2  : 1;
28
  uint32_t imm   : 4;
29
  uint32_t rd    : 4;
30
  uint32_t rn    : 4;
31
  uint32_t ls    : 1;
32
  uint32_t wb    : 1;
33
  uint32_t hash  : 1;
34
  uint32_t u     : 1;
35
  uint32_t p     : 1;
36
  uint32_t pad   : 3;
37
  uint32_t cond  : 4;
38
} HWT;
39
        HWT ir;
40
        static const char* kind_string ;
41
public:
42
        uint32_t B();
43
        REGS Rd();
44
        uint32_t A();
45
        const char* kind();
46
        scHWT(uint32_t);
47
        virtual ~scHWT();
48
 
49
};
50
 
51
#endif // !defined(AFX_SCHWT_H__8C326338_AB49_11D6_BB1E_000000000000__INCLUDED_)

powered by: WebSVN 2.1.0

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