Tengo una pregunta, ya he terminado el ASM, y procedi con el compilado con Fasarm, el tema es que queda casi identico al codigo base del que partio, quisiera saber como me doy cuenta de mis errores:
Codigo base:
Código:
;W810 SW-R4EA031
;Ìèãàíèå ôîíà*ÿ ï*è âõîäÿùåì âûçîâå
;Ïå*åäåëàíà ëîãèêà ïàò÷à, ï*è íàæàòèè íà # èëè êà÷åëüêó âìåñòå ñ ìóçûêîé/âèá*îé âûêëþ÷àåòñÿ è ìèãàíèå
;Blinking a small lamp at an entering call
;v. 2
;(c) IronMaster
+44140000
10c673a: 206B2F49 30498847
10c67fc: 816A2045 B1556B45
10c7e14: 0D4D 1E4D
10c7e20: 4C34E078 0A488047
10c7e4c: B0624D44 FB556B45
15755b0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 206B1749FFB5154F7E78012E03D00121
15755c0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 797000F001F8FFBDFFB5104F3E78012E
15755d0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 07D01E203CF746FF32200E4996F754FE
15755e0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFBD00263E707E70FFBDFFB53CF746FF
15755f0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3220094996F748FEFFBD4C34E078FFB5
1575600: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 024F7E78012E00D13E70FFBD402B024C
1575610: FFFFFFFFFFFFFFFFFFFFFFFF 816A2045EB556B45C9556B45
Codigo compilado con Fasarm:
Código:
+44140000
15755b0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 206B1749FFB5154F7E78012E03D00121
15755c0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 797000F001F8FFBDFFB5104F3E78012E
15755d0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 07D01E203CF746FF32200E4996F754FE
15755e0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFBD00263E707E70FFBDFFB53CF746FF
15755f0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3220094996F748FEFFBD4C34E078FFB5
1575600: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 024F7E78012E00D13E70FFBD402B024C
1575610: FFFFFFFFFFFFFFFFFFFFFFFF 816AA042EB556B45C9556B45
Si se fijan coinciden casi todos, sacando el ultimo offset, 1575610, del cual hay 2 errores:
codigo verdadero: 816A2045EB556B45C9556B45
codigo compilado hecho por mi:
816AA042EB556B45C9556B4
Quisiera saber si el error es pequeño osea tengo que editar el ultimo offset nada mas o debido a este error debo editar todo de nuevo.
PD: Si alguien me quiere ayudar a buscar el error:
Código:
include "x.inc"
patch equ 0x456B55B0
dir1 equ 0x455F2464
dir2 equ 0x456B5614
dir3 equ 0x4564C288
dir4 equ 0x455F247C
dir5 equ 0x456B5618
org patch
loc_456B55B0:
LDR R0, [R4,0x30]
LDR R1, loc_456B5610
PUSH {R0-R7,LR}
LDR R7, loc_456B560C
LDRB R6, [R7,1]
CMP R6, 1
BEQ loc_456B55C6
MOV R1, 1
STRB R1, [R7,1]
BL sub_456B55C8
loc_456B55C6:
POP {R0-R7,PC}
sub_456B55C8:
PUSH {R0-R7,LR}
LDR R7, loc_456B560C
LDRB R6, [R7]
CMP R6, 1
BEQ loc_456B55E2
MOV R0, 0x1E
BL dir1
MOV R0, 0x32
LDR R1, dir2
BL dir3
POP {R0-R7,PC}
loc_456B55E2:
MOV R6, 0
STRB R6, [R7]
STRB R6, [R7,1]
POP {R0-R7,PC}
loc_456B55EA:
PUSH {R0-R7,LR}
BL dir4
MOV R0, 0x32
LDR R1, dir5
BL dir3
POP {R0-R7,PC}
loc_456B55FA:
ADD R4, 0x4C
LDRB R0, [R4,3]
PUSH {R0-R7,LR}
LDR R7, loc_456B560C
LDRB R6, [R7,1]
CMP R6, 1
BNE loc_456B560A
STRB R6, [R7]
loc_456B560A:
POP {R0-R7,PC}
loc_456B560C:
CMP R3, 0x40
LDR R4, loc_456B5618
loc_456B5610:
LDR R1, [R0,0x28]
CMP R0, R4
loc_456B5614:
STRB R3, [R5,R7]
CMP R3, SP
loc_456B5618:
STRB R1, [R1,R7]
CMP R3, SP
Marcadores