save and restore the right registers
This commit is contained in:
@ -59,7 +59,12 @@ module Arm
|
||||
if name.is_a? Vm::Word
|
||||
name = "r#{name.register}"
|
||||
end
|
||||
REGISTERS[name.to_s]
|
||||
if name.is_a? Fixnum
|
||||
name = "r#{name}"
|
||||
end
|
||||
r = REGISTERS[name.to_s]
|
||||
raise "no reg #{name}" if r == nil
|
||||
r
|
||||
end
|
||||
|
||||
def calculate_u8_with_rr(arg)
|
||||
|
@ -58,8 +58,8 @@ module Arm
|
||||
regs = @first
|
||||
if (regs.is_a?(Array))
|
||||
@operand = 0
|
||||
regs.each do |reg |
|
||||
next unless reg
|
||||
regs.each_with_index do |reg , index|
|
||||
raise "nil register in push, index #{index}" if reg == nil
|
||||
@operand |= (1 << reg_code(reg))
|
||||
end
|
||||
else
|
||||
|
Reference in New Issue
Block a user