uroboros-diversification/src/postprocess/compile_process.py
def outofrangemapper():
    """
    Get routing to translate out of range vldr
    """
    oorpatt = re.compile('([^\:]+\s*\:\s*)?vldr\s+([^,]+),(S_0x[A-F0-9]+)', re.I)
    def mapper(line):
        m = oorpatt.match(line)
        if not m: return line
        items = list(m.groups())
        if items[0] is None: items[0] = ''
        return '''{0}push {{r0}}
movw r0,#:lower16:{2}
movt r0,#:upper16:{2}
vldr {1},[r0]
pop {{r0}}
'''.format(*items)
    return mapper

    Get routing to translate out of range vldr
    
Get routing to translate out of range vldr
Get routing to translate out of range vldr
def outofrangemapper():
    oorpatt = re.compile('([^\:]+\s*\:\s*)?vldr\s+([^,]+),(S_0x[A-F0-9]+)', re.I)
    def mapper(line):
        m = oorpatt.match(line)
        if not m: return line
        items = list(m.groups())
        if items[0] is None: items[0] = ''
        return '''{0}push {{r0}}
movw r0,#:lower16:{2}
movt r0,#:upper16:{2}
vldr {1},[r0]
pop {{r0}}
'''.format(*items)
    return mapper
def outofrangemapper ( ) : oorpatt = re . compile ( '([^\:]+\s*\:\s*)?vldr\s+([^,]+),(S_0x[A-F0-9]+)' , re . I ) def mapper ( line ) : m = oorpatt . match ( line ) if not m : return line items = list ( m . groups ( ) ) if items [ 0 ] is None : items [ 0 ] = '' return '''{0}push {{r0}}
movw r0,#:lower16:{2}
movt r0,#:upper16:{2}
vldr {1},[r0]
pop {{r0}}
''' . format ( * items ) return mapper
Get routing to translate out of range vldr
Get routing to translate out of range vldr
"""
    Get routing to translate out of range vldr
    """