Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.06.2018, 13:20   #1
Kenshin
Новичок
Джуниор
 
Регистрация: 21.06.2018
Сообщений: 1
Восклицание Программа на Ассемблере для преобразователя кода хемминга

Здравствуйте! Прошу помочь советом, есть код написанный на Ассемблере, он работает, но есть одно но, код программы начинается с 0 ячейки, а должен с 1150. пытаюсь изменить но не получается
.org 0,
но если пытаюсь указать .org 1150, что в AVR Studio, что при моделировании в Proteus получается ерунда.
Вложения
Тип файла: rar на форум.rar (1,012.6 Кб, 24 просмотров)
Kenshin вне форума Ответить с цитированием
Старый 21.06.2018, 22:10   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

С нулевой он начинаться не может, там вектора прерывания.
Бросается в глаза отсутствие векторов и инициализации стека. И если всамделе работает с 0 адреса, то это счастливая случайность.
Срочно читать доку на Atmega128 doc2467.pdf со страницы 59 и пока не надоест.
А вообще теме этой место в "Микроконтроллеры" . В этом разделе обсуждается РС-шный асм.

Последний раз редактировалось digitalis; 21.06.2018 в 22:18.
digitalis вне форума Ответить с цитированием
Старый 23.06.2018, 12:13   #3
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,432
По умолчанию

Цитата:
Сообщение от digitalis
С нулевой он начинаться не может, там вектора прерывания.
Ну как бы да, но если эту программу посмотреть, то там, конечно никакими прерываниями и не пахнет. В связи с чем автор по всей видимости и забил на всю эту "бесовщину" с настройкой векторов, стэка, прерываний... Вы бы ещё про ватчдог вспомнили.

Кстати у меня старая студия это безобразие нормально так переварила.
Выругалась, конечно:
Цитата:
AVR Simulator: Invalid opcode 0xffff at address 0x000000
Но дебугер запустился, даже чё-то там работает и с .org 1150
Если этот бинарник в железо зашить, то может он даже и работать будет.
Ну пропустит (вполне возможно) контроллер все эти FF-ы за 1150 тактов и начёт работать. Зачем только надевать штаны ч.з. голову - это как бы не совсем понятно.
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума Ответить с цитированием
Старый 23.06.2018, 14:53   #4
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

как минимум, одно прерывание всегда есть: rjmp start при подаче питания.
насчет "штанов через бошку" - согласен. "Я знаю, как правильно, но я так не буду делать. Люди, почему к меня не работает?!"
"Когда вагоновожатый начинает искать новые пути - трамвай сходит с рельс." © Э.Кроткий

Последний раз редактировалось digitalis; 24.06.2018 в 10:10.
digitalis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа на ассемблере для блока индикации NofatCHX Помощь студентам 0 16.04.2014 03:26
кодирование/декодирование кода хемминга Чайничек. Софт 10 20.05.2013 20:01
Создание кодер и декодер для кода Хемминга на delphi ali213b Фриланс 2 24.12.2011 11:29
Наилучшая программа для программирования в ассемблере Миша Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 11.01.2009 13:25