[General Questions and Answers] elektrownik:
Help me with this assembler code:

http://www.oliford.co.uk/hpipaq214/private/disassembly/c/usbflash.S

http://www.oliford.co.uk/hpipaq214/private/disassembly/b/sram.S

first is wm bootloader, second obm - oem boot module, this data are taken from ipaq 214 via haret, i'm searching for key combination to activate wm bootloader, we know combination to act on obm, but i dont want it, i want talk to wm bootloader, here is code which tracks keys for obm:

17388:	e3a01075	mov	r1, #117	; 0x75	@ get?GPIO(117)	(keypad in 2)
1738c:	eb001562	bl	0x1c91c

17390:	e59d3000	ldr	r3, [sp]
17394:	e59f405c	ldr	r4, [pc, #92]	; 0x173f8	@ = 0000e1fc = ROM text
17398:	e3530001	cmp	r3, #1	; 0x1	@
1739c:	1a000003	bne	0x173b0	@ if(gpio 117 on/off?){

173a0:	e284000c	add	r0, r4, #12	; 0xc
173a4:	e3a05001	mov	r5, #1	; 0x1	r5 = 1
173a8:	eb00053e	bl	0x188a8	@	dbg "flag_LS1"
173ac:	ea000000	b	0x173b4	@ }else{

173b0:	e3a05000	mov	r5, #0	; 0x0	@	r5 = 0

173b4:	e3a00101	mov	r0, #1073741824	; 0x40000000	@ }
173b8:	e380060e	orr	r0, r0, #14680064	; 0xe00000
173bc:	e28d2000	add	r2, sp, #0	; 0x0
173c0:	e3a01076	mov	r1, #118	; 0x76
173c4:	eb001554	bl	0x1c91c	@ get?GPIO(117)	(keypad in 2)
173c8:	e59d3000	ldr	r3, [sp]
173cc:	e3530001	cmp	r3, #1	; 0x1	@
173d0:	1a000003	bne	0x173e4	@ if( gpio 118 on/off?){
173d4:	e1a00004	mov	r0, r4
173d8:	e3a04001	mov	r4, #1	; 0x1	r4 = 1;
173dc:	eb000531	bl	0x188a8	@	dbg "flag_LS2"
173e0:	ea000000	b	0x173e8	@ }else{

173e4:	e3a04000	mov	r4, #0	; 0x0	@ r4 = 0

173e8:	e0040005	and	r0, r4, r5	@ } return r4 & r5;
173ec:	e28dd004	add	sp, sp, #4	; 0x4
173f0:	e8bd4030	ldmia	sp!, {r4, r5, lr}
173f4:	e12fff1e	bx	lr
--data--
173f8:	0000e1fc	streqd	lr, [r0], -ip	@ MFP GPIOS:
173fc:	40e10660	rscmi	r0, r1, r0, ror #12	@ 123 = keypad matrix
17400:	40e1065c	rscmi	r0, r1, ip, asr r6	@ 122 = keypad
17404:	40e10658	rscmi	r0, r1, r8, asr r6	@ 121 = keypad
17408:	40e1064c	rscmi	r0, r1, ip, asr #12	@ 118 = keypad
1740c:	40e10648	rscmi	r0, r1, r8, asr #12	@ 117 = keypad
17410:	40e10644	rscmi	r0, r1, r4, asr #12	@ 116 = keypad
17414:	40e10640	rscmi	r0, r1, r0, asr #12	@ 115 = keypad
--notes--
turns on keypad output lines on GPIO 121 (keypad out 0)
tests keypad lines on gpios 117 (in 2) and 118 (in 3)
(out0-in2) --> flag_LS1
(out0-in2) --> flag_LS2
returns 1 if both are set, else 0
is buttons A and B (calendar and windows keys) - vertified by watching voltage!

--end sub proc --

--begin sub proc--
@seems to be along lines of: if certain keys are on, read MMC and do stuff
e1f8 -> 2035c
17418:	e92d4010	stmdb	sp!, {r4, lr}
1741c:	ebffff82	bl	0x1722c	@call keypad related thing
17420:	e3500000	cmp	r0, #0	; 0x0	@if(both pressed)
17424:	0a00000e	beq	0x17464	@	return;
17428:	e59f403c	ldr	r4, [pc, #60]	; 0x1746c	@ = 0000e1f8 = ROM
1742c:	e28400dc	add	r0, r4, #220	; 0xdc	@ r0 = e1f8+220 = "BLDIAG.nb0"
17430:	ebfffe30	bl	0x16cf8	@ loadImageMMC()
17434:	e3500001	cmp	r0, #1	; 0x1	@ if(failed)
17438:	1a000007	bne	0x1745c	@	goto fail
1743c:	e2840f71	add	r0, r4, #452	; 0x1c4
17440:	eb000518	bl	0x188a8	@ dbg "BLDIAG.nb0"

17444:	eb00057d	bl	0x18a40	@ call ?() - (maintains r4)
17448:	ebfff88b	bl	0x1567c	@ setCPSR_fc_7()
1744c:	e5940000	ldr	r0, [r4]	@ r0 = 0x83900000 - verified
17450:	ebfff85d	bl	0x155cc	@finalJump(0x83900000)

and here is code which tracks buttons to activate wm bootloader, unfortunatly i dont know assembler... i need someone who can tell me which keys this code search

7c90:	e59d3000	ldr	r3, [sp]
7c94:	e59f0024	ldr	r0, [pc, #36]	; 0x7cc0
7c98:	e3530001	cmp	r3, #1	; 0x1
7c9c:	05953000	ldreq	r3, [r5]
7ca0:	03833010	orreq	r3, r3, #16	; 0x10
7ca4:	05853000	streq	r3, [r5]
7ca8:	e5951000	ldr	r1, [r5]
7cac:	eb0027dc	bl	0x11c24	@ dbg_out("Boot Key Press: 0x%x",r1)
7cb0:	e3a00001	mov	r0, #1	; 0x1
7cb4:	e28dd004	add	sp, sp, #4	; 0x4
7cb8:	e8bd40f0	ldmia	sp!, {r4, r5, r6, r7, lr}
7cbc:	e12fff1e	bx	lr

7cc0:	83c01c80	bichi	r1, r0, #32768	; 0x8000	@ "Boot Key Press: 0x%x"