def string_argument(regno):
    cpu = SIM_current_processor()
    va, nat = read_gr(regno)
    if nat:
        return "NaT"
    s = "\""
    for i in xrange(0, 64):
        try:
            pa = SIM_logical_to_physical(cpu, 1, va + i)
        except:
            return "0x%x" % va
        b = linux_read_byte(cpu, pa)
        if b == 0:
            return s + "\""
        elif b == 9:
            s += "\\t"
        elif b == 10:
            s += "\\n"
        elif b == 13:
            s += "\\r"
        elif b >= 32:
            s += chr(b)
        else:
            s += "<%02x>"
    return s + "\""