Beispiel #1
0
def p_registerlist_item_range(p):
	'registerlist_item : register TO register'
	start = p[1]
	end = p[3]
	if start.value not in range(0, 16) or end.value not in range(0, 16):
		raise SyntaxError("Invalid registers %s-%s"%(str(start), str(end)))
	ls = []
	for i in range(start.value, end.value+1):
		ls.append(instruction.reg(i))
	p[0] = ls
Beispiel #2
0
def p_registerlist_item_range(p):
    'registerlist_item : register TO register'
    start = p[1]
    end = p[3]
    if start.value not in range(0, 16) or end.value not in range(0, 16):
        raise SyntaxError("Invalid registers %s-%s" % (str(start), str(end)))
    ls = []
    for i in range(start.value, end.value + 1):
        ls.append(instruction.reg(i))
    p[0] = ls
Beispiel #3
0
def p_register_pc(p):
	'register : PC'
	p[0] = instruction.reg(15)
Beispiel #4
0
def p_register_lr(p):
	'register : LR'
	p[0] = instruction.reg(14)
Beispiel #5
0
def p_register_sp(p):
	'register : SP'
	p[0] = instruction.reg(13)
Beispiel #6
0
def p_register_fp(p):
	'register : IP'
	p[0] = instruction.reg(12)
Beispiel #7
0
def t_REGISTER(t):
    r'[Rr]\d?\d'
    t.value = instruction.reg(int(t.value[1:]))
    return t
Beispiel #8
0
def t_REGISTER(t):
	r'[Rr]\d?\d'
	t.value = instruction.reg(int(t.value[1:]))
	return t
Beispiel #9
0
def p_register_pc(p):
    'register : PC'
    p[0] = instruction.reg(15)
Beispiel #10
0
def p_register_lr(p):
    'register : LR'
    p[0] = instruction.reg(14)
Beispiel #11
0
def p_register_sp(p):
    'register : SP'
    p[0] = instruction.reg(13)
Beispiel #12
0
def p_register_fp(p):
    'register : IP'
    p[0] = instruction.reg(12)