dobry den
chcel by som sa opytat ci bi mi niekto nepomohl modifikovat tento dany program tak aby do flash pamete zapisalo od adresi 600h tabulku 1,2,3....29,30
ale prepisat do RAM od addresy 90 hex
prepisat z RAM do RAM od adresy B0 kazdy druhy obsah /1,3,5
prepisat z RAM do EEPROM od adresy 50 hex kazdy druhy obsah 1,5,9...
a naslednu kontrolu toho
program je uz hotovy ale ako tam mam konkretne zapisat ,modifikovat tie urcene hodnoty napriklad tie,90 ,B0 ,50,600H hex, som to si dane hodnoty premenil do 2 kovej sustavy,ale udajne to nie je dobre,tak ako ich tam mam zadavat?
vopred diky
.include "m16def.inc"
.equ block1=$1c0 ;zaciatok pamati1
.equ block2=$1e0 ;zaciatok pamati2
.def reg=r16 ;pracovny register
.def ramsize=r17 ;pocet pamatovych buniek
rjmp reset
reset: ldi reg,low(ramend) ;nastavenie ramend-u
out spl,reg
ldi reg,high(ramend)
out sph,reg
ldi reg,0b00000011 ;nastavenie vystupnych led
out ddrb,reg
;1:
;------------------------------------------------
ldi zh,high(tab*2)
ldi zl,low(tab*2)
ldi yh,high(block1)
ldi yl,low(block1)
ldi ramsize,30
presun: lpm
st y+,r0
adiw zl,1
dec ramsize
brne presun
;2:
;------------------------------------------------
ldi zh,high(block1)
ldi zl,low(block1)
ldi yh,high(block2)
ldi yl,low(block2)
ldi ramsize,16
presun2:ld r0,z
st y+,r0
adiw zl,2
dec ramsize
brne presun2
;3:
;------------------------------------------------
ldi yh,high(block2)
ldi yl,low(block2)
ldi ramsize,8
ldi r25,0x01
ldi r24,0x80
presun3:sbic eecr,eewe
rjmp presun3
out eearh,r25
out eearl,r24
ld r0,y
out eedr,r0
sbi eecr,eemwe
sbi eecr,eewe
adiw yl,2
adiw r24,1
dec ramsize
brne presun3
presunn:sbic eecr,eewe
rjmp presunn
;4:
;------------------------------------------------
ldi zh,high(tab*2)
ldi zl,low(tab*2)
ldi r25,0x01
ldi r24,0x80
ldi ramsize,8
presun4:lpm ;flash z do r0
out eearh,r25
out eearl,r24
sbi eecr,eere
in r1,eedr
cpse r1,r0
rjmp chyba
adiw r24,1
adiw zl,4
dec ramsize
brne presun4
ldi reg,0b11111110
out portb,reg
rjmp end
chyba: ldi reg,0b11111101
out portb,reg
end: rjmp end
.org $1900
tab:
.db 1,2
.db 3,4
.db 5,6
.db 7,8
.db 9,10
.db 11,12
.db 13,14
.db 15,16
.db 17,18
.db 19,20
.db 21,22
.db 23,24
.db 25,26
.db 27,28
.db 29,30