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

Subversion Repositories s80186

[/] [s80186/] [trunk/] [scripts/] [microassembler/] [microasm/] [types.py] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 jamieiles
# Copyright Jamie Iles, 2017
2
#
3
# This file is part of s80x86.
4
#
5
# s80x86 is free software: you can redistribute it and/or modify
6
# it under the terms of the GNU General Public License as published by
7
# the Free Software Foundation, either version 3 of the License, or
8
# (at your option) any later version.
9
#
10
# s80x86 is distributed in the hope that it will be useful,
11
# but WITHOUT ANY WARRANTY; without even the implied warranty of
12
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
# GNU General Public License for more details.
14
#
15
# You should have received a copy of the GNU General Public License
16
# along with s80x86.  If not, see <http://www.gnu.org/licenses/>.
17
 
18
from enum import Enum
19
 
20
class GPR(Enum):
21
    AX = 0
22
    CX = 1
23
    DX = 2
24
    BX = 3
25
    SP = 4
26
    BP = 5
27
    SI = 6
28
    DI = 7
29
    AL = 0
30
    CL = 1
31
    DL = 2
32
    BL = 3
33
    AH = 4
34
    CH = 5
35
    DH = 6
36
    BH = 7
37
 
38
class SR(Enum):
39
    ES = 0
40
    CS = 1
41
    SS = 2
42
    DS = 3
43
 
44
class ADriver(Enum):
45
    RA = 0
46
    IP = 1
47
    MAR = 2
48
    MDR = 3
49
 
50
class BDriver(Enum):
51
    RB = 0
52
    IMMEDIATE = 1
53
    SR = 2
54
    TEMP = 3
55
 
56
class ALUOp(Enum):
57
    SELA = 0
58
    SELB = 1
59
    ADD = 2
60
    ADC = 3
61
    AND = 4
62
    XOR = 5
63
    OR = 6
64
    SUB = 7
65
    SUBREV = 8
66
    SBB = 9
67
    SBBREV = 10
68
    GETFLAGS = 11
69
    SETFLAGSB = 12
70
    SETFLAGSA = 13
71
    CMC = 14
72
    SHR = 15
73
    SHL = 16
74
    SAR = 17
75
    ROR = 18
76
    ROL = 19
77
    RCL = 20
78
    RCR = 21
79
    NOT = 22
80
    NEXT = 23
81
    AAA = 24
82
    AAS = 25
83
    DAA = 26
84
    DAS = 27
85
    MUL = 28
86
    IMUL = 29
87
    DIV = 30
88
    IDIV = 31
89
    EXTEND = 32
90
    BOUNDL = 33
91
    BOUNDH = 34
92
    ENTER_FRAME_TEMP_ADDR = 35
93
 
94
class UpdateFlags(Enum):
95
    CF = 0
96
    PF = 1
97
    AF = 2
98
    ZF = 3
99
    SF = 4
100
    TF = 5
101
    IF = 6
102
    DF = 7
103
    OF = 8
104
 
105
class RDSelSource(Enum):
106
    NONE = 0
107
    MODRM_REG = 1
108
    MODRM_RM_REG = 2
109
    MICROCODE_RD_SEL = 3
110
 
111
class JumpType(Enum):
112
    UNCONDITIONAL = 0
113
    RM_REG_MEM = 1
114
    OPCODE = 2
115
    DISPATCH_REG = 3
116
    HAS_NO_REP_PREFIX = 4
117
    ZERO = 5
118
    REP_NOT_COMPLETE = 6
119
    JUMP_TAKEN = 7
120
    RB_ZERO = 8
121
    LOOP_DONE = 9
122
 
123
class MARWrSel(Enum):
124
    EA = 0
125
    Q = 1
126
 
127
class RegWrSource(Enum):
128
    Q = 0
129
    QUOTIENT = 1
130
    REMAINDER = 2
131
 
132
class TEMPWrSel(Enum):
133
    Q_LOW = 0
134
    Q_HIGH = 1
135
 
136
class PrefixType(Enum):
137
    NONE = 0
138
    SEGMENT_OVERRIDE = 1
139
    REPNE = 2
140
    REPE = 3
141
 
142
class WidthType(Enum):
143
    W16 = 0
144
    W8 = 1
145
    WAUTO = 2

powered by: WebSVN 2.1.0

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