Witam mam prośbę czy ktoś mógłby mi skompilować program?? ponieważ nie wiem w jakim programie to zrobić bo program jest assemblerze
.include "2313def.inc"
.def temp = r16
.def licznik = r17
.def licznikRL = r18
.def f1=r19
.def f2=r20
.def f3=r21
.def f4=r22
.def delay0 = r23
.def delay1 = r24
.def delay2 = r25
.org 0x0000
rjmp Reset
.org INT0addr ;External Interrupt0 Vector Address
reti
.org INT1addr ;External Interrupt1 Vector Address
reti
.org ICP1addr ;Input Capture1 Interrupt Vector Address
reti
.org OC1addr ;Output Compare1 Interrupt Vector Address
reti
.org OVF1addr ;Overflow1 Interrupt Vector Address
reti
.org OVF0addr ;Overflow0 Interrupt Vector Address
reti
.org URXCaddr ;UART Receive Complete Interrupt Vector Address
reti
.org UDREaddr ;UART Data Register Empty Interrupt Vector Address
reti
.org UTXCaddr ;UART Transmit Complete Interrupt Vector Address
reti
.org ACIaddr ;Analog Comparator Interrupt Vector Address
reti
Reset:
;;;;;;;;;;STACK;;;;;;;;;;;;;
ldi temp,ramend
out spl,temp
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;PORTy;;;;;;;;;;;;;
ldi temp,0b11111111
out ddrb,temp
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;AC_OFF;;;;;;;;;;;;
ldi temp,0b10000000
out acsr,temp
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;MAIN;;;;;;;;;;;;;
Loop:
sec
ldi f1,0b11110000
ldi f2,0b11110001
ldi f3,0b11110011
ldi f4,0b11110111
clr licznik
rcall Faza
Left:
clr licznikRL
Left1:
sec
rol f1
rol f2
rol f3
rol f4
rcall Faza
inc licznikRL
cpi licznikRL,4
breq ExLeft
rjmp Left1
ExLeft:
sec
ror f4
rcall Faza
sec
ror f3
ror f4
rcall Faza
sec
ror f2
ror f3
ror f4
rcall Faza
Right:
clr licznikRL
Right1:
sec
ror f1
ror f2
ror f3
ror f4
rcall Faza
inc licznikRL
cpi licznikRL,4
breq ExRight
rjmp Right1
ExRight:
sec
rol f4
rcall Faza
sec
rol f3
rol f4
rcall Faza
rjmp Loop
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;SUBy;;;;;;;;;;;;;;;
Faza:
clr licznik
Faza1:
out portb,f1
rcall Delay5ms
rcall Delay1ms
out portb,f2
rcall Delay5ms
rcall Delay1ms
out portb,f3
rcall Delay5ms
rcall Delay1ms
out portb,f4
rcall Delay5ms
rcall Delay1ms
inc licznik
cpi licznik,7
breq ExFaza
rjmp Faza1
ExFaza:
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;Wasters;;;;;;;;;;
Delay5ms:
ldi delay0,255 ;r1*r2*...*rn*C, gdzie C=7 (wynik daje ilosc operacji; 10mln przy 10MHz to 1s)
ldi delay1,28 ;nie do konca wiem dlaczego 7
D5ms:
dec delay0
nop
nop
nop
nop
brne D5ms
dec delay1
nop
nop
nop
nop
brne D5ms
ret
Delay1ms:
ldi delay0,255
ldi delay1,13
D1ms:
dec delay0
brne D1ms
dec delay1
brne D1ms
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;