8051 disassembly

rr RRauscher at nni.com
Sun Oct 8 12:03:18 GMT 2000


I'd venture to guess that it is the major loop (100msec), call routine. See
anht hac at address label: LB6B0.

Below @ 4f85 is a table of addresses. Each address is 2 bytes. The table
address is loaded into X, with an offset in B. The offset is probably
the main 160Hz counter (L007C). The ANDB @ 4f7a is eliminating the
upper bits.

B is added to X, which is now an index into the table. LDX loads that address
into X. A jump is made to the address contained in X reg.

BobR.

Dale Klein wrote:

>
>         I have been playing with DHC11 (thanks very much to Peter for putting this
> out there) and trying to figure out for myself how my LT1 works.  I am
> hoping eventually to find the tables for decel fuel cutoff, and exactly how
> DFCO and the idle / follower IAC modes work.
>
>         I'm a real amateur at assembly language, maybe someone out there can tell
> how the following section works at a glance.....
>
>         This is from the t-side.  I'm trying to figure out what vector table to
> define in the control file, for the following DHC11 message line:
> Indexed Call/Jump at $4F83, may require a vector table.
>
>         I tried using the following control line, but I think it is wrong.
> vectors $4f85 4 some_1 somevector
>
> Here's the code near there, and my misunderstanding of it.... 8>(
>
> 4F6E    12 83 08 06             brset   l_0083_, #%00001000, @80
> 4F72    15 83 07                bclr    l_0083_, #%00000111
> 4F75    15 A8 0F                bclr    L00A8, #%00001111
> 4F78    D6 7C           @80     ldaB    L007C                   load 124(or mem $007c)? into B
> 4F7A    C4 03                   andB    #%00000011              B and 3 --> B  (what does this do...?)
> 4F7C    CE 4F 85                ldX     #$4F85                  load addr (=$4f8d) --> X
> 4F7F    58                      lslB                            shift B left (multiply x2)?
> 4F80    3A                      aBX                             X + B --> X
> 4F81    EE 00                   ldX     0, X
> 4F83    6E 00                   jmp     0, X                    go there, but where, what vector to specify..?
> ;
> ;
> 4F85                            db      $4F, $8D, $4F, $A7, $4F, $B2, $4F, $D0, $BD, $8F
> 4F8F                            db      $E4, $BD, $8F, $EB, $BD, $91, $22, $BD, $92, $26
> 4F99                            db      $BD, $91, $F1, $BD, $93, $12, $BD, $93, $7A, $BD
> 4FA3                            db      $94, $0D, $20, $2C, $BD, $94, $4A, $BD, $94, $80
> 4FAD                            db      $BD, $95, $0B, $20, $21, $BD, $96, $DA, $BD, $9C
>
>         Any advice (other than Give Up!!!!) or hints would be great.
>
> Thanks,
>         Dale
>
> _______________________________________________
> Why pay for something you could get for free?
> NetZero provides FREE Internet Access and Email
> http://www.netzero.net/download/index.html
> ----------------------------------------------------------------------------
> To unsubscribe from gmecm, send "unsubscribe gmecm" (without the quotes)
> in the body of a message (not the subject) to majordomo at lists.diy-efi.org

----------------------------------------------------------------------------
To unsubscribe from gmecm, send "unsubscribe gmecm" (without the quotes)
in the body of a message (not the subject) to majordomo at lists.diy-efi.org




More information about the Gmecm mailing list