Вопросы и замечания по статьям и схемам, представленным на нашем сайте

При поддержке РадиоКОТструктор.ру


Ответить

Бегущий огонек v1.1 Создание функций в Ассемблере.

Пн сен 11, 2006 14:18:45

В разделе Обучалка > Микроконтроллеры и ПЛИС > Микроконтроллеры AVR... > Создание функций в Ассемблере. Бегущий огонек v1.1 :shock: есть часть программы, в которой, по моему мнению, допущена ошибочка, а именно:

Код:
ldi Temp,RamEnd ;загрузить в Темп адрес последней ячейки ОЗУ
out SPL,Temp ;вывести в SPL значение из Temp


В однобайтный регист Temp записывают двухбайтный адрес памяти RamEnd.
Затем производится непосредственно инициализацию стека, по средствам записи адреса ячейки памяти в указатель стека SPL.

А какже, тогда насчет старшего байта указателя стека SPR?

Инициализовать стек пододным образом мне не удалось. Немного подумав и покопав описание нашел следующее решение:

Код:
\\prog1.asm
----------
.include "m8515def.inc"

.def Temp=R16


\\..........................
RESET:
; RemEnd = 0x025F (из подключаемого файла)
ldi Temp,0x5F ; инициализация стека
out SPL,Temp
ldi Temp,0x02
out SPH,Temp
\\..........................

Пн сен 11, 2006 14:28:18

Спасибо, я буду подумать над этим. И исправлю, если ошибся. Если не найду оправдания :)

Пн сен 11, 2006 15:02:21

это типа аффтара статьёв :) ждем ответы

Инициализация стека

Пн сен 11, 2006 15:37:58

Serega писал(а):Спасибо, я буду подумать над этим. И исправлю, если ошибся. Если не найду оправдания :)


В статье Таймеры и каунтеры. Бегущий огонек v2.0 таже проблема, так-что заодно и там поглядеть надо бы.

А код еще попроще написать можно:
Код:
; Инициализация стека, другими словами
; установка указателя стека в конце ОЗУ
  ldi  R16, high(RAMEND)    ; старший байт
  out SPH, R16
  ldi R16, low(RAMEND)      ; младший байт
  out SPL, R16


Из законов Мэрфи: Каждую программу можно сократить минимум на 2 команды :)

Пт ноя 09, 2007 22:30:33

Народ, у меня тоже проблемы но с на4альной то4ки, буквально 2-я статья и уже не понимаю :shock: . У мен там командная строка ругается, Ошибка вроде как то исправляется, но 4ото я не понял где.На фотографии текст ошибки.Заранее спасибо за помощь!!!!! :wink:
Вложения
Ошибка copy.gif
(20.04 KiB) Скачиваний: 721
Ответить