cpu atmega8 include /home/nutzer/eigene/prj/avr/asl/appnotes/tn13Adef.asm include /home/nutzer/eigene/prj/avr/inc/hilo.asm segment data org sram_start ctr_byte: res 1 segment code rjmp isr_reset rjmp isr_ext_int0 rjmp isr_pcint0 rjmp isr_tim0_ovf rjmp isr_ee_rdy rjmp isr_ana_comp rjmp isr_tim0_compa rjmp isr_tim0_compb rjmp isr_watchdog rjmp isr_adc isr_ext_int0: isr_pcint0: isr_tim0_ovf: isr_ee_rdy: isr_ana_comp: isr_tim0_compa: isr_tim0_compb isr_watchdog: isr_adc: reti isr_reset: ldi r16,low(ramend) out spl,r16 ldi r16,31 ;alles Ausgänge, außer PB5 (Reset) out ddrb,r16 ; wir nutzen R16-R19 als 32 Bit SRG ; R20-R23 als Polynom ; R24 als NULL-Dummy ; http://www.xilinx.com/support/documentation/application_notes/xapp052.pdf ; n=32, Rückführungen von 32,22,2,1 ldi r20,3 ;Rückführung 2,1 ldi r21,0 ldi r22,0x20 ;Rückführung 22 ldi r23,0x80 ;Rückführung 32 ldi r24,0 ;Dummy für Leerzweig ldi r16,0xaa ;Seed loop: ror R19 ror R18 ror r17 ror r16 brcs one ;zero eor r16,r24 eor r17,r24 eor r18,r24 eor r19,r24 ldi r25,0 out portb,r25 rjmp loop one: eor r16,r20 eor r17,r21 eor r18,r22 eor r19,r23 ldi r25,31 out portb,r25 rjmp loop