Notices
ECU Flash

subroutine @564 what does it do?

Thread Tools
 
Search this Thread
 
Old Feb 6, 2009, 12:37 AM
  #1  
Evolving Member
Thread Starter
iTrader: (4)
 
Deepnine's Avatar
 
Join Date: Apr 2008
Location: Germany
Posts: 186
Likes: 0
Received 0 Likes on 0 Posts
subroutine @564 what does it do?

hi,

i'm trying to figure out what the subroutine at 462 does, but i don't understand it.
I have the label from another disassembly.

it needs a ram adess at r4 and r5, thats all i understood.

Thx Jan


Code:
RAM:00000562 ; =============== S U B R O U T I N E =======================================
RAM:00000562
RAM:00000562
RAM:00000562 between_r4_r5_ram_increment1:           ; CODE XREF: coundown_timers+46p
RAM:00000562                                         ; coundown_timers+62p ...
RAM:00000562                 mov.l   r0, @-r15
RAM:00000564                 mov.l   r10, @-r15
RAM:00000566                 mov     #-1, r10
RAM:00000568                 extu.w  r10, r10
RAM:0000056A
RAM:0000056A loc_56A:                                ; CODE XREF: between_r4_r5_ram_increment1+22j
RAM:0000056A                 cmp/hs  r5, r4
RAM:0000056C                 bt      loc_588
RAM:0000056E                 stc     sr, r0
RAM:00000570                 mov.l   r0, @-r15
RAM:00000572                 or      #h'F0, r0
RAM:00000574                 ldc     r0, sr
RAM:00000576                 mov.w   @r4, r0
RAM:00000578                 extu.w  r0, r0
RAM:0000057A                 cmp/eq  r10, r0
RAM:0000057C                 bt      loc_582
RAM:0000057E                 add     #1, r0
RAM:00000580                 mov.w   r0, @r4
RAM:00000582
RAM:00000582 loc_582:                                ; CODE XREF: between_r4_r5_ram_increment1+1Aj
RAM:00000582                 ldc.l   @r15+, sr
RAM:00000584                 bra     loc_56A
RAM:00000586                 add     #2, r4
RAM:00000588 ; ---------------------------------------------------------------------------
RAM:00000588
RAM:00000588 loc_588:                                ; CODE XREF: between_r4_r5_ram_increment1+Aj
RAM:00000588                 mov.l   @r15+, r10
RAM:0000058A                 rts
RAM:0000058C                 mov.l   @r15+, r0
RAM:0000058C ; End of function between_r4_r5_ram_increment1
Old Feb 6, 2009, 12:59 AM
  #2  
EvoM Guru
iTrader: (6)
 
tephra's Avatar
 
Join Date: Feb 2007
Location: Melbourne, Australia
Posts: 9,486
Received 66 Likes on 42 Posts
this routine loops through the start and stop memory locations defined by r4 and r5 and increments each word.

ie r4 = 0xffff8000, r5 = 0xffff8100, would loop through and increment 0xffff8000, 0xffff8002, 0xffff8004 ... 0xffff8100...
Old Feb 6, 2009, 01:55 AM
  #3  
Evolving Member
Thread Starter
iTrader: (4)
 
Deepnine's Avatar
 
Join Date: Apr 2008
Location: Germany
Posts: 186
Likes: 0
Received 0 Likes on 0 Posts
thanks!
Old Feb 6, 2009, 01:57 AM
  #4  
EvoM Guru
iTrader: (6)
 
tephra's Avatar
 
Join Date: Feb 2007
Location: Melbourne, Australia
Posts: 9,486
Received 66 Likes on 42 Posts
glad to be of service




All times are GMT -7. The time now is 11:37 PM.