Например TDA7294

Форум РадиоКот • Просмотр темы - Бегущий огонек v1.1 Создание функций в Ассемблере.
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Чт мар 12, 2026 09:08:19

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Бегущий огонек v1.1 Создание функций в Ассемблере.
СообщениеДобавлено: Пн сен 11, 2006 14:18:45 
Родился
Аватар пользователя

Зарегистрирован: Пн сен 11, 2006 13:25:07
Сообщений: 3
Рейтинг сообщения: 0
В разделе Обучалка > Микроконтроллеры и ПЛИС > Микроконтроллеры 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
\\..........................

_________________
by Cane


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Пн сен 11, 2006 14:28:18 
Говорящий с текстолитом
Аватар пользователя

Карма: 5
Рейтинг сообщений: 4
Зарегистрирован: Пн авг 22, 2005 21:02:22
Сообщений: 1529
Откуда: Питер
Рейтинг сообщения: 0
Спасибо, я буду подумать над этим. И исправлю, если ошибся. Если не найду оправдания :)

_________________
Лучше быть первым в деревне, чем вторым в Риме


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Пн сен 11, 2006 15:02:21 
Говорящий с текстолитом
Аватар пользователя

Карма: 4
Рейтинг сообщений: 15
Зарегистрирован: Чт дек 15, 2005 17:34:48
Сообщений: 1507
Откуда: Петрозаводск
Рейтинг сообщения: 0
это типа аффтара статьёв :) ждем ответы

_________________
путь наименьшего сопротивления проходит по пути наитолстого провода (с) Сергей Соболь


Вернуться наверх
 
 Заголовок сообщения: Инициализация стека
СообщениеДобавлено: Пн сен 11, 2006 15:37:58 
Родился
Аватар пользователя

Зарегистрирован: Пн сен 11, 2006 13:25:07
Сообщений: 3
Рейтинг сообщения: 0
Serega писал(а):
Спасибо, я буду подумать над этим. И исправлю, если ошибся. Если не найду оправдания :)


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

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


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

_________________
by Cane


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
 Заголовок сообщения:
СообщениеДобавлено: Пт ноя 09, 2007 22:30:33 
Родился
Аватар пользователя

Зарегистрирован: Ср ноя 07, 2007 12:32:50
Сообщений: 3
Откуда: Королёв
Рейтинг сообщения: 0
Народ, у меня тоже проблемы но с на4альной то4ки, буквально 2-я статья и уже не понимаю :shock: . У мен там командная строка ругается, Ошибка вроде как то исправляется, но 4ото я не понял где.На фотографии текст ошибки.Заранее спасибо за помощь!!!!! :wink:


Вложения:
Ошибка copy.gif [20.04 KiB]
Скачиваний: 786

_________________
Реальность-это виртуальность, с которо мы все соглашаемся
Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y