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