All pastes #744741 Raw Edit

Stuff

public text v1 · immutable
·published 2007-10-21 19:21 UTC
rendered paste body
ROM:A00215F8                 CODE16
ROM:A00215F8
ROM:A00215F8 loc_A00215F8                            ; CODE XREF: ROM:A0021080j
ROM:A00215F8                                         ; DATA XREF: ROM:off_A0021658o
ROM:A00215F8                 LDR     R0, =unk_A0021680
ROM:A00215FA                 LDR     R1, =0xB0000000
ROM:A00215FC                 LDR     R2, =0xB000F7FC
ROM:A00215FE                 BL      sub_A002162E
ROM:A00215FE

This calls:

ROM:A002162E sub_A002162E                            ; CODE XREF: ROM:A00215FEp
ROM:A002162E                                         ; sub_A002162E+Cj
ROM:A002162E                 CMP     R1, R2
ROM:A0021630                 BCS     locret_A002163C
ROM:A0021630
ROM:A0021632                 LDR     R3, [R0]
ROM:A0021634                 STR     R3, [R1]
ROM:A0021636                 ADD     R0, #4
ROM:A0021638                 ADD     R1, #4
ROM:A002163A                 B       sub_A002162E
ROM:A002163A
ROM:A002163C ; ---------------------------------------------------------------------------
ROM:A002163C
ROM:A002163C locret_A002163C                         ; CODE XREF: sub_A0021622+4j
ROM:A002163C                                         ; sub_A002162E+2j
ROM:A002163C                 BX      LR
ROM:A002163C
ROM:A002163C ; End of function sub_A002162E



The equivalent call in C is:

void 
a002162e(unsigned int *r0, unsigned int *r1, unsigned int *r2)
{
    unsigned int r3;

    while(1) {
	if(r1 == r2) 
	    return;
	
	r3 = *r0;
	*r1 = r3;
	
	r0++;
	r1++
    }
}