********************************************************* *** pgm en wait *** interruption declanchée par l'arrivée d'un caractere sur le SCI *** affichage du caractere sur le port b *** mise en wait du pgm ********************************************************* * !! mode bootstrap !!! PORTB equ $1004 IRQ1 equ $00C4 *1er vecteur interruption SCI IRQ2 equ $00C5 *2eme vecteur interruption SCI BAUD equ $102B *Baudrate selector SCCR1 equ $102C *SCI control register 1 SCCR2 equ $102D *SCI control register 2 SCSR equ $2E *SCI status register SPCR equ $28 SCDR equ $102F org $FE00 lds #$0120 * pile ldx #$1000 ***initialisation IRQ*** ldaa #$7E * opcode de JMP staa IRQ1 * interrupt vector-1=JMP opcode ldx #irq * ISR de IRQ# : ldx irq=00 86 (op-code de jmp)->ldx #irq stx IRQ2 * interrupt vector ldx #$1000 cli * enable interrupts *** initalisation SCI*** bset SPCR,x,#$20 * serial port setup clr SCCR1 ldd #$332C * set baudrate, enable recv & tx staa BAUD * 2400 N81 with 16 MHz xtal stab SCCR2 * 2 de 2C : enable receive interrupt ldaa #$00 staa $0100 *** Pgm principal*** Main ldaa $0100 * lit la valeur stocké durant l'interruption staa PORTB * and display on port F wai * low power sleep mode bra Main *** vecteur d'interruption*** irq brclr SCSR,x,#$20,irq * reset serial port ldaa SCDR * reception caractere recu staa $0100 * stock en memoire rti * fin de l'interruption end