Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
; пока startup.
; SP = XX, SREG=0; - пусть это уже сделано и нам не интерестно.
;------- int* ptr; ------
ldi r30,10
ldi r31,0 ;сама переменная-указатель ptr расположена по RAM=10 (ну ладно,пусть это уже будет RAM, а не адреса регистров)
ldi r16,0 ; NULL
st Z, r16
st Z+1,r16 ; В двухбайтовый ptr пока засунули NULL.
;------- int Massiv[3] --------
ldi r30,100
ldi r31, 0 ; там будет Massiv и его надо обнулить. Щас обнулим.
st Z, r16
st Z+1, r16
..........
st Z+5,r16 ; обнулил int Massiv[3].
; main
:-------- ptr = Massiv
ldi r30,10
ldi r31,0 ; обращаюсь к ptr.
ldi r16, 100 ; адрес Massiv[]
st Z, r16
ldi r16, 0
st Z+1,r16 ; теперь можно считать что ptr == Massiv.
; Продолжу в след посте.
Составить ответ | Вернуться на конференцию
Ответы