MAZBELAZ
0 / 0 / 0
Регистрация: 09.12.2014
Сообщений: 5
|
|
1 | |
Термостат на ATTiny 231309.12.2014, 20:02. Просмотров 1445. Ответов 6
Метки нет Все метки)
(
Собираю термостат в Протеусе на Attiny 2313.
Имеется код на ассемблере (5.txt) но компилятор ругается Кликните здесь для просмотра всего текста
avrasm2.exe -fO -i"C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\Tools\AVRASM\appnotes\tn2313def.inc" -o "Debug.obj" -l Debug.lst "..\main.asm"
AVRASM: AVR macro assembler 2.1.42 (build 1796 Sep 15 2009 10:48:36) Copyright (C) 1995-2009 ATMEL Corporation [builtin](2): Including file 'C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\Tools\AVRASM\appnotes\tn2313def.inc' ..\main.asm(40): Including file 'C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\Tools\AVRASM\appnotes\tn2313def.inc' ..\main.asm(102): error: Invalid register ..\main.asm(104): error: Invalid register ..\main.asm(106): error: Invalid register ..\main.asm(108): error: Invalid register ..\main.asm(116): error: Invalid register ..\main.asm(120): error: Invalid register ..\main.asm(122): error: Invalid register ..\main.asm(128): error: Invalid register ..\main.asm(130): error: Invalid register ..\main.asm(132): error: Invalid register ..\main.asm(134): error: Invalid register ..\main.asm(140): error: Invalid register ..\main.asm(141): error: Invalid register ..\main.asm(152): error: Invalid register ..\main.asm(154): error: Invalid register ..\main.asm(156): error: Invalid register ..\main.asm(159): error: Invalid register ..\main.asm(167): error: Invalid register ..\main.asm(175): error: Invalid register ..\main.asm(193): error: Invalid register ..\main.asm(211): error: Invalid register ..\main.asm(221): error: Invalid register ..\main.asm(244): error: Invalid register ..\main.asm(254): error: Invalid register ..\main.asm(260): error: Invalid register ..\main.asm(270): error: Invalid register ..\main.asm(280): error: Invalid register ..\main.asm(283): error: Invalid register ..\main.asm(291): error: Invalid register ..\main.asm(295): error: Invalid register ..\main.asm(312): error: Invalid register ..\main.asm(316): error: Invalid register ..\main.asm(341): error: Invalid register ..\main.asm(343): error: Invalid register ..\main.asm(345): error: Invalid register ..\main.asm(349): error: Invalid register ..\main.asm(351): error: Invalid register ..\main.asm(358): error: Invalid register ..\main.asm(360): error: Invalid register ..\main.asm(369): error: Invalid register ..\main.asm(370): error: Invalid register ..\main.asm(371): error: Invalid register ..\main.asm(402): warning: .cseg .db misalignment - padding zero byte ..\main.asm(403): warning: .cseg .db misalignment - padding zero byte ..\main.asm(404): warning: .cseg .db misalignment - padding zero byte ..\main.asm(405): warning: .cseg .db misalignment - padding zero byte ..\main.asm(406): warning: .cseg .db misalignment - padding zero byte ..\main.asm(407): warning: .cseg .db misalignment - padding zero byte ..\main.asm(408): warning: .cseg .db misalignment - padding zero byte ..\main.asm(409): warning: .cseg .db misalignment - padding zero byte ..\main.asm(410): warning: .cseg .db misalignment - padding zero byte ..\main.asm(411): warning: .cseg .db misalignment - padding zero byte ..\main.asm(412): warning: .cseg .db misalignment - padding zero byte ..\main.asm(413): warning: .cseg .db misalignment - padding zero byte ..\main.asm(414): warning: .cseg .db misalignment - padding zero byte ..\main.asm(415): warning: .cseg .db misalignment - padding zero byte ..\main.asm(416): warning: .cseg .db misalignment - padding zero byte ..\main.asm(417): warning: .cseg .db misalignment - padding zero byte ..\main.asm(418): warning: .cseg .db misalignment - padding zero byte ..\main.asm(435): error: Invalid register ..\main.asm(445): error: Invalid register ..\main.asm(452): error: Invalid register ..\main.asm(454): error: Invalid register ..\main.asm(456): error: Invalid register ..\main.asm(458): error: Invalid register ..\main.asm(461): error: Invalid register ..\main.asm(463): error: Invalid register ..\main.asm(470): error: Invalid register ..\main.asm(480): error: Invalid register ..\main.asm(488): error: Invalid register ..\main.asm(490): error: Invalid register ..\main.asm(514): error: Invalid register ..\main.asm(517): error: Invalid register ..\main.asm(525): error: Invalid register ..\main.asm(527): error: Invalid register ..\main.asm(551): error: Invalid register ..\main.asm(554): error: Invalid register ..\main.asm(583): error: Invalid register ..\main.asm(586): error: Invalid register ..\main.asm(591): error: Invalid register ..\main.asm(594): error: Invalid register ..\main.asm(598): error: Invalid register ..\main.asm(601): error: Invalid register ..\main.asm(605): error: Invalid register ..\main.asm(607): error: Invalid register Assembly failed, 68 errors, 17 warnings make: *** [Debug.obj] Error 1 Error code 2 разбирались сидели с преподавателем, он тоже не может понять, почему компилятор ругается на регистры. Может кто-то увидит ошибку свежим глазом?) сам проект термостата в архиве, проект под файлом 4. (сохранял в нескольких копиях ввиду нестабильности работы программы.)
0
|
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
|
09.12.2014, 20:02 |
Ответы с готовыми решениями:
6
ATtiny 2313 AtTiny 2313, прерывания Attiny 2313 не прошивается Работа с UART (Си, ATtiny 2313) Использование таймера в ATTiny 2313 |
Витальич
1274 / 1184 / 174
Регистрация: 02.12.2013
Сообщений: 4,886
|
|
09.12.2014, 21:30 | 2 |
Команда LDI не работает с регистрами R0 - R15, а только с регистрами R16 - R31
Привет преподу.
1
|
MAZBELAZ
0 / 0 / 0
Регистрация: 09.12.2014
Сообщений: 5
|
|
09.12.2014, 21:37 [ТС] | 3 |
тогда у меня регистров не хватает для присвоения переменных
спасибо, хоть с чем-то разобрался
0
|
Витальич
1274 / 1184 / 174
Регистрация: 02.12.2013
Сообщений: 4,886
|
|
09.12.2014, 21:43 | 4 |
Я Вам одну вещь скажу, Вы только не обижайтесь, у AVR есть еще ОЗУ где и можно хранить переменные.
ИМХО: AVR со своими 32 регистрами развращает начинающего "ассемблерщика", обычно, в других архитектурах, регистров значительно меньше.
2
|
MAZBELAZ
0 / 0 / 0
Регистрация: 09.12.2014
Сообщений: 5
|
|
09.12.2014, 21:56 [ТС] | 5 |
а вот по коду сказано, чтобы данные двух переменных хранились в одном регистре, это возможно? ведь компилятор ругается на присвоение одного и того же адреса двум переменным. может не та команда?
0
|
pyzhman
791 / 485 / 66
Регистрация: 15.05.2012
Сообщений: 2,744
|
|
10.12.2014, 07:27 | 6 |
Надо полагать эти переменные где-то в программе используются как одно целое. Как слитное что-ли попроще говоря.
0
|
Voland_
1688 / 1033 / 97
Регистрация: 04.01.2010
Сообщений: 3,480
|
|
10.12.2014, 17:38 | 7 |
Если эти переменные в паре содержат 8 бит или менее, тогда это вполне возможно. Прочитав пост выше - согласен, нужно подумать - возможно их совместное применение. А возможно и раздельное.
0
|
10.12.2014, 17:38 | |
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
|
10.12.2014, 17:38 |
ATtiny 2313. Контроль освещения Attiny 2313 замерзает внутренний тактовый Attiny 2313 простая задачка с индикацией Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |