Кусок кода с патча "Отображение текста" для Х700
...........................
LDR R1, =0x18FC0008+0x92
LDRB R0, [R1]
.case r0 loc_108678EE case_0 case_1 case_2 case_3 case_4 case_5
case_0:
LDR R0, =0x000003FD
B loc_108678C4
case_1:
LDR R0, =0x00000E87
B loc_108678C4
case_2:
MOV R0, 40
B loc_108678CA
case_3:
MOV R0, 41
B loc_108678CA
case_4:
LDR R0, =0x00000314
B loc_108678C4
case_5:
LDR R0, =0x00000E3B
B loc_108678C4
loc_108678C4:
BL 0x109DE520
B loc_108678CE
loc_108678CA:
BL lk_get_my_text
loc_108678CE:
STR R0, [R4]
LDR R6, [R4]
LDR R1, =0x1834A098
MOV R0, R7
STRB R0, [R1]
MOV R0, #0x0
STRH R0, [R1, #14]
MOV R0, #0x64
STRH R0, [R1, #16]
MOV R0, #0xB0
STRH R0, [R1, #18]
MOV R0, #0x19
STRH R0, [R1, #20]
POP {R4}
LDR R0, =0x116BAF3C+1
BX R0
loc_108678EE:
LDR R0, =0x116BAF54+1
BX R0
Компилит как:
.....................
LDR R1, =0x18FC009A
LDRB R0, [R1]
CMP R0, #0x6
BCS loc_114D0E9A
ADR R3, =0x114D0E4C
ADD R3, R3, R0
LDRH R3, [R3, R0]
LSL R3, R3, #1
ADD PC, R3
NOP
DCD 0x0006;B loc_114D0E58 ;при 0x0000
DCD 0x0008;B loc_114D0E5C ;при 0x0001
DCD 0x000A;B loc_114D0E60 ;при 0x0002
DCD 0x000C;B loc_114D0E64 ;при 0x0003
DCD 0x000E;B loc_114D0E68 ;при 0x0004
DCD 0x0010;B loc_114D0E6C ;при 0x0005
loc_114D0E58:; CASE 0x0000
LDR R0, =0x000003FD
B loc_114D0E70
loc_114D0E5C:; CASE 0x0001
LDR R0, =0x00000E87
B loc_114D0E70
loc_114D0E60:; CASE 0x0002
MOV R0, #0x28
B loc_114D0E76
loc_114D0E64:; CASE 0x0003
MOV R0, #0x29
B loc_114D0E76
loc_114D0E68:; CASE 0x0004
LDR R0, =0x00000314
B loc_114D0E70
loc_114D0E6C:; CASE 0x0005
LDR R0, =0x00000E3B
B loc_114D0E70
loc_114D0E70:
BL off_114D176C
B loc_114D0E7A
loc_114D0E76:
BL off_114D1778
loc_114D0E7A:
STR R0, [R4]
LDR R6, [R4]
LDR R1, =0x1834A098
MOV R0, R7
STRB R0, [R1]
MOV R0, #0x0
STRH R0, [R1, #14]
MOV R0, #0x64
STRH R0, [R1, #16]
MOV R0, #0xB0
STRH R0, [R1, #18]
MOV R0, #0x19
STRH R0, [R1, #20]
POP {R4}
LDR R0, =0x116BAF3D
BX R0
loc_114D0E9A:
LDR R0, =0x116BAF55
BX R0