Я опять здесь!
Цитата(scifi @ Oct 16 2007, 17:37)

Можно для начала проверить работоспособность монитора, убрав в свойствах отладчика галочку "грузить программу при старте отладки". Полезно посмотреть/модифицировать регистры процессора, походить по шагам, попробовать записывать в ячейки памяти в различных областях.
Все так и сделал. Регистры процессора изменяются и память пишется.
Цитата(scifi @ Oct 16 2007, 17:37)

Мне кажется, что нулевой адрес должен быть замапен в ОЗУ, так как при загрузке программы туда надо записать таблицу векторов исключений. Для этого можно воспользоваться скриптом *.ini, который можно запускать при включении отладчика. В этом скрипте можно сконфигурировать регистры для того, чтобы замапить ОЗУ на адрес 0, и после этого загрузить программу.
А вот тут такой нюанс. Дело в том что я использую готовый контроллер от КАСКОДа. Там нулевой адрес это ROM. Т.е. CS0 это ROM. Получается что "замапить ОЗУ на адрес 0" нельзя.(?)
Другое дело что в Readme к монитору написано
CODE_START Specifies the start address for the Monitor Code Area.
If you install the Monitor into a ROM, the ROM device must be
addressed with the CS0 chip select output. The 166/ST10 starts
the program at address 0 and executes the JMPS instruction.
If CODE_START is not 0, ensure that the first JMPS instruction
is burned to ROM address 0. It is possible to locate a RAM
device at address 0, so that you can modify all interrupt
vector locations. The Monitor program writes automatically
the NMI and optionally the SERIAL interrupt vector into this
RAM to support program breakpoints.
У меня получается вариант когда CODE_START is not 0.
Вопрос, как прожеч в ROM the JMPS instruction? Не в том смысле как прожигать, а как сформировать файл, в кот будет эта инструкция и кот я запишу по адресу 0.
И потом все таки что делать с таблицей векторов исключений? Пробовал изменить значение переменной VECTAB, а так же вот здесь: Project-Options for Target-L166 Misc-Interrupt Vector Table Address. Ничего.