remove some of the node mess
This commit is contained in:
@ -55,7 +55,7 @@ module Asm
|
||||
else
|
||||
# raise Asm::AssemblyError.new(Asm::ERRSTR_INVALID_ARG, arg)
|
||||
end
|
||||
elsif (arg.is_a?(Asm::LabelRefArgNode) or arg.is_a?(Asm::NumEquivAddrArgNode))
|
||||
elsif (arg.is_a?(Asm::LabelRefArgNode) or arg.is_a?(Asm::NumLiteralArgNode))
|
||||
@pre_post_index = 1
|
||||
@rn = 15 # pc
|
||||
@use_addrtable_reloc = true
|
||||
@ -78,10 +78,10 @@ module Asm
|
||||
(inst_class << 12+4+4+1+1+1+1+1+1) | (cond << 12+4+4+1+1+1+1+1+1+2)
|
||||
if (@use_addrtable_reloc)
|
||||
# closest_addrtable = Asm::Arm.closest_addrtable(as)
|
||||
if (@addrtable_reloc_target.is_a?(Asm::LabelEquivAddrArgNode))
|
||||
if (@addrtable_reloc_target.is_a?(Asm::LabelRefArgNode))
|
||||
obj = ast_asm.object_for_label(@addrtable_reloc_target.label, inst)
|
||||
ref_label = closest_addrtable.add_label(obj)
|
||||
elsif (@addrtable_reloc_target.is_a?(Asm::NumEquivAddrArgNode))
|
||||
elsif (@addrtable_reloc_target.is_a?(Asm::NumLiteralArgNode))
|
||||
ref_label = closest_addrtable.add_const(@addrtable_reloc_target.value)
|
||||
end
|
||||
as.add_relocation io.tell, ref_label, Asm::Arm::R_ARM_PC12,
|
||||
|
Reference in New Issue
Block a user