Miasm2
 All Classes Namespaces Files Functions Variables Typedefs Properties Macros
regs.py
Go to the documentation of this file.
2 from miasm2.core.cpu import reg_info
3 
4 
5 # GP
6 
7 regs16_str = ["PC", "SP", "SR"] + ["R%d" % i for i in xrange(3, 16)]
8 regs16_expr = [ExprId(x, 16) for x in regs16_str]
9 
10 
11 gpregs = reg_info(regs16_str, regs16_expr)
12 
13 PC = regs16_expr[0]
14 SP = regs16_expr[1]
15 SR = regs16_expr[2]
16 R3 = regs16_expr[3]
17 R4 = regs16_expr[4]
18 R5 = regs16_expr[5]
19 R6 = regs16_expr[6]
20 R7 = regs16_expr[7]
21 R8 = regs16_expr[8]
22 R9 = regs16_expr[9]
23 R10 = regs16_expr[10]
24 R11 = regs16_expr[11]
25 R12 = regs16_expr[12]
26 R13 = regs16_expr[13]
27 R14 = regs16_expr[14]
28 R15 = regs16_expr[15]
29 
30 PC_init = ExprId("PC_init", 16)
31 SP_init = ExprId("SP_init", 16)
32 SR_init = ExprId("SR_init", 16)
33 R3_init = ExprId("R3_init", 16)
34 R4_init = ExprId("R4_init", 16)
35 R5_init = ExprId("R5_init", 16)
36 R6_init = ExprId("R6_init", 16)
37 R7_init = ExprId("R7_init", 16)
38 R8_init = ExprId("R8_init", 16)
39 R9_init = ExprId("R9_init", 16)
40 R10_init = ExprId("R10_init", 16)
41 R11_init = ExprId("R11_init", 16)
42 R12_init = ExprId("R12_init", 16)
43 R13_init = ExprId("R13_init", 16)
44 R14_init = ExprId("R14_init", 16)
45 R15_init = ExprId("R15_init", 16)
46 
47 
48 reg_zf = 'zf'
49 reg_nf = 'nf'
50 reg_of = 'of'
51 reg_cf = 'cf'
52 reg_cpuoff = 'cpuoff'
53 reg_gie = 'gie'
54 reg_osc = 'osc'
55 reg_scg0 = 'scg0'
56 reg_scg1 = 'scg1'
57 reg_res = 'res'
58 
59 zf = ExprId(reg_zf, size=1)
60 nf = ExprId(reg_nf, size=1)
61 of = ExprId(reg_of, size=1)
62 cf = ExprId(reg_cf, size=1)
63 
64 cpuoff = ExprId(reg_cpuoff, size=1)
65 gie = ExprId(reg_gie, size=1)
66 osc = ExprId(reg_osc, size=1)
67 scg0 = ExprId(reg_scg0, size=1)
68 scg1 = ExprId(reg_scg1, size=1)
69 res = ExprId(reg_res, size=7)
70 
71 
72 zf_init = ExprId("zf_init", size=1)
73 nf_init = ExprId("nf_init", size=1)
74 of_init = ExprId("of_init", size=1)
75 cf_init = ExprId("cf_init", size=1)
76 
77 
78 cpuoff_init = ExprId("cpuoff_init", size=1)
79 gie_init = ExprId("gie_init", size=1)
80 osc_init = ExprId("osc_init", size=1)
81 scg0_init = ExprId("scg0_init", size=1)
82 scg1_init = ExprId("scg1_init", size=1)
83 res_init = ExprId("res_init", size=7)
84 
85 
86 all_regs_ids = [
87  PC, SP, SR, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15,
88  zf, nf, of, cf,
89  cpuoff, gie, osc, scg0, scg1, res,
90 ]
91 
92 all_regs_ids_no_alias = all_regs_ids
93 
94 all_regs_ids_byname = dict([(x.name, x) for x in all_regs_ids])
95 
96 all_regs_ids_init = [PC_init, SP_init, SR_init, R3_init,
97  R4_init, R5_init, R6_init, R7_init,
98  R8_init, R9_init, R10_init, R11_init,
99  R12_init, R13_init, R14_init, R15_init,
100  zf_init, nf_init, of_init, cf_init,
101  cpuoff_init, gie_init, osc_init,
102  scg0_init, scg1_init, res_init,
103  ]
104 
105 regs_init = {}
106 for i, r in enumerate(all_regs_ids):
107  regs_init[r] = all_regs_ids_init[i]
108 
109 regs_flt_expr = []