Цитата(Firebird @ May 20 2008, 13:26)

Я сделал так:
Полный код
main.asmКод
LIST P=18F458;директива для указания процессора
#include <P18F458.INC>;файл спецификации процессора
-------
;Вектор сброса
ORG 0x0000
goto start;переход к началу программы
;******************************************************************************
;Вектор прерывания высокого приоритета
;Этот код начнет выполнение при возникновении прерывания высокого приоритета,
;или любого прерывания, если приоритеты не используются
ORG 0x0008
bra HighInt;переход к обработке прерывания высокого приоритета
;******************************************************************************
;Обработка прерывания высокого приоритета
HighInt:
;*** код обработки прерывания высокого приоритета размещается здесь ***
retfie FAST
start
call StartInit
goto Main
;******************************************************************************
;Начало главной программы
Main:
call StartInit
nop
goto Main
; *** главный код размещается здесь ***
; Подключаемые модули
#include <MyINI.ASM>
;******************************************************************************
END
MyIni.asmКод
StartInit
clrf RegA
clrf RegB
movlw 0x01
movwf RegA
movlw 0x05
movwf RegB
return
делал как написано в справке с помощью директив GLOBAL и EXTERN, но при компиляции выдается ошибка: "Directive only allowed when generating an object file", т.е. НЕ РАБОТАЕТ.
ORG - директива для программ минующих стадию линковки (АСМ -> HEX)- весь текст в одном файле
при организации объектных модулей используется CODE - (эквивалент ORG адрес необязателен можно отдать на откуп линкеру) для программ и UDATA(UDATA_ACS etc.)
GLOBAL & EXTERN используется для передачи меток ОЗУ, ПЗУ между объектными модулями.
а ругается софтинка на ОРГ(если в проекте несколько ASM файлов)
"Для того чтобы избежать критики, надо ничего не делать, ничего не говорить и никем не быть"
"Каждый из нас бывает дураком по крайней мере пять минут в день; мудрость заключается в том, чтобы не превысить лимит." Элберт Хаббард