Цитата(Slavast @ Nov 25 2010, 16:51)

Добрый день!
Помогите пожалуйста создать код считывания массива из памяти с начала массива данных и с его конца.
massiv:
.DB 0x00,0x18,0x3C,0x7E,0xFF,0x7E,0x3C,0x18
Огромное спасибо!
В асме для массива в памяти программ, вперед:
Код
.equ massiv_len = 8
ldi ZH,high(massiv*2) ; адрес массива
ldi ZL,low(massiv*2) ;
ldi r17,massiv_len ; длинна массива
read_massiv:
lpm r16,Z+ ; содержимое массива здесь
dec r17
brne read_massiv
massiv: .db 0x00,0x18,0x3C,0x7E,0xFF,0x7E,0x3C,0x18
назад:
Код
.equ massiv_len = 8
ldi ZH,high(massiv*2) ; адрес массива
ldi ZL,low(massiv*2) ;
ldi r17,massiv_len ; длинна массива
clr r16
add ZL,r17
adc ZH,r16
read_massiv:
lpm r16,-Z ; содержимое массива здесь
dec r17
brne read_massiv
massiv: .db 0x00,0x18,0x3C,0x7E,0xFF,0x7E,0x3C,0x18
Массив в ОЗУ еще проще:
Код
.equ massiv_len = 8
ldi ZH,high(massiv) ; адрес масива в ОЗУ
ldi ZL,low(massiv) ;
ldi r17,massiv_len ; длинна масива
read_massiv:
ld r16,Z+ ; содержимое масива здесь
dec r17
brne read_massiv
по аналогии обратно ...