Нужно немного модифицировать программу на ассемблере для PIC16F84. MPASMwin выдает ошибку
по строке include <macro.mac>. (Часть исходника программы приведена ниже.)
Поясните пожалуйста, это включение на еще одну внешнюю программу или часть библиотеки
которую нужно поместить в общую папку. Где взять <macro.mac>?
Спасибо откликнувшимся
;=============================================
;
include <macro.mac>
;
;=============================================
LIST p=16F84
__CONFIG 03FF1H
;=============================================
MisterDi
Aug 2 2009, 18:58
Для начала просто закомментировать эту строку и по листингу посмотреть на ошибки(если будут). Дальше разобраться с используемыми макросами. С вероятностью 90% все решится. Если макросы таки используются - тогда смотреть по логике работы программы
Без заремливания 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)
DpInRock
Aug 2 2009, 20:09
Для начала - найти этот файл. Ибо это часть исходника.
Ну, либо догадаться что делает макрос Start и написать его самому.
Так 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
DpInRock
Aug 2 2009, 22:23
Я не телепат, ё.
Адурэть! jmp - это и есть имя макроса. Что он делает - догадаться нетрудно. Зачем он - вопрос философский, наверное для тупопереноса исходников с параллаксовскаго асма на историческую родину

Не надо stop_after_first_error, иначе будем обсуждать мелкие вопросы до след.года
Понимаю что это уже перебор.... Но может найдется кто поможет. В первую очередь нужно переассемблировать под
PIC16F628A.
Исходник
http://www.sharemania.ru/0183136Автора беспокоить не решаюсь.
Спасибо откликнувшимся!
Код
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
Вставьте ето в исходничег. Если что-то пропустил - пусть товарищи помогут. За сим прощаюсь - некогда стало.
Конечно спасибо большое! Но может ктото растолкует, что умный человек сказал. Куда вставить, и почему применялся этот макрос.
Цитата(Alex_D @ Aug 3 2009, 11:28)

Куда вставить
Товарисч, голову включи!
Спасибо Паша. Включаю , но в танке ж еще. Я так понял что эту програму перекомпилировали с другого процессор в котором
jmp, jnc, jz, jnz выполнялись иначе. Поэтому их заменили на макросы. Если это так, то я
должен код, который Вы предложили, просто вставить перед первой командой программы, а
include macro.mac заремить\удалить. Так я и сделал, но ошибки остались.
Какие именно ошибки остались?
По- поводу перекомпилили - был такой ассемблер, на www.parallaxinc.com, правда давненько это было. Но ножки растут-точно оттуда
Цитата(Alex_D @ Aug 3 2009, 20:04)

Я так понял что эту програму перекомпилировали с другого процессор в котором
jmp, jnc, jz, jnz выполнялись иначе. Поэтому их заменили на макросы.
Всё правильно. Только другой - не процессор, а ассемблер.
Цитата(_Pasha @ Aug 3 2009, 21:27)

По- поводу перекомпилили - был такой ассемблер, на www.parallaxinc.com, правда давненько это было. Но ножки растут-точно оттуда
Если так, то там практически все мнемоники другие. Наверное проще в инете найти этот macro.mac, чем всё перелопачивать
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.