I am trying to work out how the code below points to an address.
I thought I worked this out a few years ago, but have spent a few hours and can't work it out.
I guess that is what happens when you leave things for a while.
Below is a bit of the code from tvrfan I am looking at.
I am trying to work out what is going on at:
648c that gives the rom address 941c.
649b that gives the rom address 941f.
And so on.
Code: Select all
Update_fans:
648c: 9b,f6,74,00 cmpb R0,[Rf6+74] # 941C fan control enable
6490: d7,01 jne 6493 if (0 = Fan_enble) {
6492: f0 ret return; }
6493: 37,a1,02 jnb B7,Ra1,6498 if (Cranking = 0) goto 6498;
6496: 20,c1 sjmp 6559 goto 6559;
6498: 71,df,e9 an2b Re9,df Hsfflg = 0;
649b: 9b,f6,77,b0 cmpb Rb0,[Rf6+77] # ROM 941F fan high speed temp 2(242DegF)
649f: d6,24 jge 64c5 if (ECT >= Ect_hs2) goto 64c5;
64a1: 9b,f6,76,b0 cmpb Rb0,[Rf6+76] # ROM 941E fan high speed temp 1(234DegF)
64a5: de,21 jlt 64c8 if (ECT >= Ect_hs1) {
64a7: b3,74,21,42 ldb R42,[R74+21] R42 = N_byte;
64ab: 9b,f6,78,42 cmpb R42,[Rf6+78]