реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
Alex_D
сообщение Aug 2 2009, 18:14
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 24-09-06
Пользователь №: 20 644



Нужно немного модифицировать программу на ассемблере для PIC16F84. MPASMwin выдает ошибку
по строке include <macro.mac>. (Часть исходника программы приведена ниже.)
Поясните пожалуйста, это включение на еще одну внешнюю программу или часть библиотеки
которую нужно поместить в общую папку. Где взять <macro.mac>?
Спасибо откликнувшимся


;=============================================
;
include <macro.mac>
;
;=============================================
LIST p=16F84
__CONFIG 03FF1H
;=============================================
Go to the top of the page
 
+Quote Post
MisterDi
сообщение Aug 2 2009, 18:58
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 88
Регистрация: 28-10-08
Из: Днепропетровск
Пользователь №: 41 263



Для начала просто закомментировать эту строку и по листингу посмотреть на ошибки(если будут). Дальше разобраться с используемыми макросами. С вероятностью 90% все решится. Если макросы таки используются - тогда смотреть по логике работы программы
Go to the top of the page
 
+Quote Post
Alex_D
сообщение Aug 2 2009, 19:34
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 24-09-06
Пользователь №: 20 644



Без заремливания macro.mac
Executing: "C:\Program Files\Microchip\MPASM Suite\MPASMWIN.exe" /q /p16F84 "dscallcd.asm" /l"dscallcd.lst" /e"dscallcd.err" /d__DEBUG=1
Error[105] D:\326M\PIC\2\DSCALLCD.ASM 12 : Cannot open file (Include File "macro.mac" not found)
Warning[207] D:\326M\PIC\2\DSCALLCD.ASM 95 : Found label after column 1. (jmp)
Error[122] D:\326M\PIC\2\DSCALLCD.ASM 95 : Illegal opcode (Start)


Если заремить macro.mac
Executing: "C:\Program Files\Microchip\MPASM Suite\MPASMWIN.exe" /q /p16F84 "dscallcd.asm" /l"dscallcd.lst" /e"dscallcd.err" /d__DEBUG=1
Warning[207] D:\326M\PIC\2\DSCALLCD.ASM 95 : Found label after column 1. (jmp)
Error[122] D:\326M\PIC\2\DSCALLCD.ASM 95 : Illegal opcode (Start)
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Aug 2 2009, 20:09
Сообщение #4


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Для начала - найти этот файл. Ибо это часть исходника.
Ну, либо догадаться что делает макрос Start и написать его самому.


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
Alex_D
сообщение Aug 2 2009, 21:49
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 24-09-06
Пользователь №: 20 644



Так Start - вроде метка
и по чем видно что macro.mac -макрос старта?

00010 ;=============================================
Error[105] : Cannot open file (Include File "macro.mac" not found)
00012 include <macro.mac>
00014 ;=============================================
.. .
.
..
.

0000 00094 org 0
Warning[207]: Found label after column 1. (jmp)
Error[122] : Illegal opcode (Start)
0000 00095 jmp Start
. . .
. . .
. . .

00329 ;=============================================
00330 ;Program start here ( cold start )
00331 ;
008A 00332 Start
008A 1683 00333 bsf Status,RP0
.
.
.





Я так понимаю макросов в исходнике нет так как нет
exitm и endm
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Aug 2 2009, 22:23
Сообщение #6


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Я не телепат, ё.


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Aug 3 2009, 05:42
Сообщение #7


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Адурэть! jmp - это и есть имя макроса. Что он делает - догадаться нетрудно. Зачем он - вопрос философский, наверное для тупопереноса исходников с параллаксовскаго асма на историческую родину smile.gif Не надо stop_after_first_error, иначе будем обсуждать мелкие вопросы до след.года
Go to the top of the page
 
+Quote Post
Alex_D
сообщение Aug 3 2009, 06:37
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 24-09-06
Пользователь №: 20 644



Понимаю что это уже перебор.... Но может найдется кто поможет. В первую очередь нужно переассемблировать под
PIC16F628A.
Исходник http://www.sharemania.ru/0183136
Автора беспокоить не решаюсь.
Спасибо откликнувшимся!
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Aug 3 2009, 06:53
Сообщение #9


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Код
jmp macro addr1


goto addr1

endm

;............................

jnc macro addr1

btfss Status,CF

goto addr1

endm

;..........................

jz macro addr1

btfsc Status,ZF

goto addr1

endm

;........................

jnz macro addr1

btfss Status,ZF

goto addr1

endm


Вставьте ето в исходничег. Если что-то пропустил - пусть товарищи помогут. За сим прощаюсь - некогда стало.
Go to the top of the page
 
+Quote Post
Alex_D
сообщение Aug 3 2009, 08:28
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 24-09-06
Пользователь №: 20 644



Конечно спасибо большое! Но может ктото растолкует, что умный человек сказал. Куда вставить, и почему применялся этот макрос.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Aug 3 2009, 10:45
Сообщение #11


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(Alex_D @ Aug 3 2009, 11:28) *
Куда вставить

Товарисч, голову включи!
Go to the top of the page
 
+Quote Post
Alex_D
сообщение Aug 3 2009, 14:04
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 24-09-06
Пользователь №: 20 644



Спасибо Паша. Включаю , но в танке ж еще. Я так понял что эту програму перекомпилировали с другого процессор в котором
jmp, jnc, jz, jnz выполнялись иначе. Поэтому их заменили на макросы. Если это так, то я
должен код, который Вы предложили, просто вставить перед первой командой программы, а
include macro.mac заремить\удалить. Так я и сделал, но ошибки остались.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Aug 3 2009, 15:27
Сообщение #13


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Какие именно ошибки остались? 

По- поводу перекомпилили -  был такой ассемблер, на  www.parallaxinc.com, правда давненько это было. Но ножки растут-точно оттуда
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Aug 3 2009, 15:59
Сообщение #14


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(Alex_D @ Aug 3 2009, 20:04) *
Я так понял что эту програму перекомпилировали с другого процессор в котором
jmp, jnc, jz, jnz выполнялись иначе. Поэтому их заменили на макросы.


Всё правильно. Только другой - не процессор, а ассемблер.

Цитата(_Pasha @ Aug 3 2009, 21:27) *
По- поводу перекомпилили - был такой ассемблер, на www.parallaxinc.com, правда давненько это было. Но ножки растут-точно оттуда


Если так, то там практически все мнемоники другие. Наверное проще в инете найти этот macro.mac, чем всё перелопачиватьsmile.gif


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd June 2025 - 22:07
Рейтинг@Mail.ru


Страница сгенерированна за 0.01472 секунд с 7
ELECTRONIX ©2004-2016