Blame | Last modification | View Log | Download | RSS feed
#include <avr/io.h>#include "_global.h";;------------------------------------------------------------------------------;.global t_beep_int.func t_beep_intt_beep_int:push r18push r27push r24push r25push r30push r31ldi r31,hi8(tabl_sin)lds r27,t_beep_ptrlds r30,(t_beep_ptr)+1lds r24,t_beep_deltalds r25,(t_beep_delta)+1.L_tbeep1:add r27,r24adc r30,r25lpm r18,Zcbi _SFR_IO_ADDR(PORTB),0 ; clear nSPICSout _SFR_IO_ADDR(SPDR),r18.L_tbeep2:sbis _SFR_IO_ADDR(SPSR),SPIFrjmp .L_tbeep2in r18,_SFR_IO_ADDR(SPDR)sbi _SFR_IO_ADDR(PORTB),0 ; set nSPICScpi r18,12brcs .L_tbeep1sts t_beep_ptr,r27sts (t_beep_ptr)+1,r30pop r31pop r30pop r25pop r24pop r27ldi r18,(1<<INTF6)out _SFR_IO_ADDR(EIFR),r18pop r18ret.endfunc;;------------------------------------------------------------------------------