next up previous contents
Next: 9.2.5 print.asm Up: 9.2 Master Previous: 9.2.3 init.asm

9.2.4 table.asm

******************************************************************************************************
* Studienarbeit      Christopher Odenbach                                                            *
*                                                                                                    *
* WS98/99                                                                                            *
*                                                                                                    *
* mit Dank an Willi                                                                                  *
******************************************************************************************************

******************************************************************************************************
*   MOTOROLA  MC68HC705X32                                                                           *
*                                                                                                    *
*    Subroutine for time-to-live-table                                                               *
*                                                                                                    *
*                                                                                                    *
*                                                                                                    *
*                                                                                                    *
*                                                                                                    *
******************************************************************************************************


******************************************************************************************************

ENTER_TABLE             EQU     *
                        LDX     ROBNR
                        BEQ     NEW_ENTRY                       ;first robot? => No search necessary

SEARCH_LOOP             LDA     ROBOTS-1,X
                        AND     #$1F
                        CMP     SND_ADR
                        BEQ     ALREADY_IN
                        DECX
                        BEQ     NEW_ENTRY
                        BRA     SEARCH_LOOP

ALREADY_IN              ORA     #$E0
                        STA     ROBOTS-1,X
                        RTS

NEW_ENTRY               LDA     ROBNR
                        INCA
                        STA     ROBNR
                        TAX
                        LDA     SND_ADR
                        ORA     #$E0
                        STA     ROBOTS-1,X
                        RTS



Christopher Odenbach
1999-06-01