zelos.emulator.arm module

class zelos.emulator.arm.ArmEmuHelper(unicorn, state)

Bases: zelos.emulator.base.IEmuHelper

ip_reg = 'pc'
sp_reg = 'sp'
fp_reg = 'fp'
regmap = {'apsr': 1, 'apsr_nzcv': 2, 'c13_c0_2': 112, 'c13_c0_3': 113, 'c1_c0_2': 111, 'control': 117, 'cpsr': 3, 'd0': 14, 'd1': 15, 'd10': 24, 'd11': 25, 'd12': 26, 'd13': 27, 'd14': 28, 'd15': 29, 'd16': 30, 'd17': 31, 'd18': 32, 'd19': 33, 'd2': 16, 'd20': 34, 'd21': 35, 'd22': 36, 'd23': 37, 'd24': 38, 'd25': 39, 'd26': 40, 'd27': 41, 'd28': 42, 'd29': 43, 'd3': 17, 'd30': 44, 'd31': 45, 'd4': 18, 'd5': 19, 'd6': 20, 'd7': 21, 'd8': 22, 'd9': 23, 'ending': 118, 'fp': 77, 'fpexc': 4, 'fpinst': 5, 'fpinst2': 46, 'fpscr': 6, 'fpscr_nzcv': 7, 'fpsid': 8, 'ip': 78, 'ipsr': 114, 'itstate': 9, 'lr': 10, 'msp': 115, 'mvfr0': 47, 'mvfr1': 48, 'mvfr2': 49, 'pc': 11, 'psp': 116, 'q0': 50, 'q1': 51, 'q10': 60, 'q11': 61, 'q12': 62, 'q13': 63, 'q14': 64, 'q15': 65, 'q2': 52, 'q3': 53, 'q4': 54, 'q5': 55, 'q6': 56, 'q7': 57, 'q8': 58, 'q9': 59, 'r0': 66, 'r1': 67, 'r10': 76, 'r11': 77, 'r12': 78, 'r13': 12, 'r14': 10, 'r15': 11, 'r2': 68, 'r3': 69, 'r4': 70, 'r5': 71, 'r6': 72, 'r7': 73, 'r8': 74, 'r9': 75, 's0': 79, 's1': 80, 's10': 89, 's11': 90, 's12': 91, 's13': 92, 's14': 93, 's15': 94, 's16': 95, 's17': 96, 's18': 97, 's19': 98, 's2': 81, 's20': 99, 's21': 100, 's22': 101, 's23': 102, 's24': 103, 's25': 104, 's26': 105, 's27': 106, 's28': 107, 's29': 108, 's3': 82, 's30': 109, 's31': 110, 's4': 83, 's5': 84, 's6': 85, 's7': 86, 's8': 87, 's9': 88, 'sb': 75, 'sl': 76, 'sp': 12, 'spsr': 13}
imp_regs = ['r0', 'r1', 'r2', 'r3', 'r4', 'r5', 'r6', 'r7', 'r8', 'r9', 'r10', 'r11', 'r12', 'sp', 'lr', 'pc', 'cpsr', 'fp', 'fpscr', 'fpsid', 'fpexc']