Miasm2
 All Classes Namespaces Files Functions Variables Typedefs Properties Macros
regs.py
Go to the documentation of this file.
1 #!/usr/bin/env python
2 #-*- coding:utf-8 -*-
3 
5 
6 
7 # GP
8 
9 regs32_str = ["R%d" % i for i in xrange(13)] + ["SP", "LR", "PC"]
10 regs32_expr = [ExprId(x, 32) for x in regs32_str]
11 
12 exception_flags = ExprId('exception_flags', 32)
13 
14 
15 R0 = regs32_expr[0]
16 R1 = regs32_expr[1]
17 R2 = regs32_expr[2]
18 R3 = regs32_expr[3]
19 R4 = regs32_expr[4]
20 R5 = regs32_expr[5]
21 R6 = regs32_expr[6]
22 R7 = regs32_expr[7]
23 R8 = regs32_expr[8]
24 R9 = regs32_expr[9]
25 R10 = regs32_expr[10]
26 R11 = regs32_expr[11]
27 R12 = regs32_expr[12]
28 SP = regs32_expr[13]
29 LR = regs32_expr[14]
30 PC = regs32_expr[15]
31 
32 R0_init = ExprId("R0_init")
33 R1_init = ExprId("R1_init")
34 R2_init = ExprId("R2_init")
35 R3_init = ExprId("R3_init")
36 R4_init = ExprId("R4_init")
37 R5_init = ExprId("R5_init")
38 R6_init = ExprId("R6_init")
39 R7_init = ExprId("R7_init")
40 R8_init = ExprId("R8_init")
41 R9_init = ExprId("R9_init")
42 R10_init = ExprId("R10_init")
43 R11_init = ExprId("R11_init")
44 R12_init = ExprId("R12_init")
45 SP_init = ExprId("SP_init")
46 LR_init = ExprId("LR_init")
47 PC_init = ExprId("PC_init")
48 
49 
50 reg_zf = 'zf'
51 reg_nf = 'nf'
52 reg_of = 'of'
53 reg_cf = 'cf'
54 
55 zf = ExprId(reg_zf, size=1)
56 nf = ExprId(reg_nf, size=1)
57 of = ExprId(reg_of, size=1)
58 cf = ExprId(reg_cf, size=1)
59 
60 zf_init = ExprId("zf_init", size=1)
61 nf_init = ExprId("nf_init", size=1)
62 of_init = ExprId("of_init", size=1)
63 cf_init = ExprId("cf_init", size=1)
64 
65 
66 all_regs_ids = [
67  R0, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, SP, LR, PC,
68  zf, nf, of, cf,
69  exception_flags
70 ]
71 
72 all_regs_ids_no_alias = all_regs_ids
73 
74 all_regs_ids_byname = dict([(x.name, x) for x in all_regs_ids])
75 
76 all_regs_ids_init = [R0_init, R1_init, R2_init, R3_init,
77  R4_init, R5_init, R6_init, R7_init,
78  R8_init, R9_init, R10_init, R11_init,
79  R12_init, SP_init, LR_init, PC_init,
80  zf_init, nf_init, of_init, cf_init,
81  ExprInt32(0)
82  ]
83 
84 regs_init = {}
85 for i, r in enumerate(all_regs_ids):
86  regs_init[r] = all_regs_ids_init[i]
87 
88 regs_flt_expr = []