Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка 161 при компиляции, Глючит встроенный ассемблер в Паскале 
:(
    Опции темы
St. Andrew
  Дата 24.11.2005, 01:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 28.3.2005
Где: Санкт-Петербург

Репутация: 1
Всего: 8



Уважаемые коллеги, помогите пожалуйста! У меня появилась проблема со встроенным ассемблером в Паскале (TP 7.0). У меня имеется ассемблерная вставка размером примерно 150-180 строчек, состоящая из команд процессора и сопроцессора, зачастую - команды двух этих устройств чередуются. Ошибок в самих операторах нет. Проблема в том, что компилятор Паскаля при некотором количестве операторов начинает выдавать ошибку номер 161 "Code generation error", указывая на последнюю строку программы в Паскале (на последний end). Но стоит закомментировать любые строчек 7-10 ассемблерной вставки, как сразу все компилируется без проблем. Подскажите, пожалуйста, в чем дело? smile Уже вторая программа из-за этого не пашет!!! smile

Есть два предположения:
1) Нарушается некоторый максимальный размер вставки
2) Нарушается синхронизация процессора и сопроцессора

Не первое, ни второе подтвердить или опровергнуть сам не могу... Нужна помощь! smile
--------------------
Оглянитесь вокруг! В мире так много прекрасного!
PM MAIL WWW ICQ   Вверх
Akina
Дата 24.11.2005, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 1
Всего: 454



Предположение 2 отметаем - оно может влиять на работу приложения, но никак не на сборку.
Предположение 1 вполне может иметь место. Попробуй разделить АСМовскую вставку на две идущие подряд...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
St. Andrew
Дата 24.11.2005, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 28.3.2005
Где: Санкт-Петербург

Репутация: 1
Всего: 8



Akina, ты оказался прав! После долгих мучений до меня наконец-то дошло, что причина в слишком длинном переходе в команде loop , которая просто-напросто не видела далеко стоящую метку... В ТАСМе это бы сразу понятно было, а это - гнусный Паскаль. smile По человечески сказать он не мог! smile
--------------------
Оглянитесь вокруг! В мире так много прекрасного!
PM MAIL WWW ICQ   Вверх
Akina
Дата 24.11.2005, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 1
Всего: 454



Цитата(St @ 24.11.2005, 19:03)
По человечески сказать он не мог!

И не должен был. Ассемблерные вставки в нем - это костыль для тех, кто не может оформить процедуру на АСМе, скомпилировать и подключить объектный файл в проект.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
St. Andrew
Дата 24.11.2005, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 28.3.2005
Где: Санкт-Петербург

Репутация: 1
Всего: 8



В общем-то да, правильно говоришь - костыль самый натуральный! Но на самом деле, несколько страшно подключать объектный файл. Дело в том, что компьютеры, на которых все будет демонстрироваться своей немощностью и старостью вызывают благоговейный ужас. Самое их уникальное качество - программу приходится каждый раз набирать заново, т.к. единственно устройство связи с внешним миром на тех компах - 5.25 дисковод. Если добавить к этому еще и устаревшую версию Паскаля (где-то около 3.0) , то невольно осознаешь тот элементарный факт , что "чем проще-тем лучше".
Да, звучит бредово, но это - печальная российская действительность! Остается только копить на ноутбук и сдавать преподу все досрочно smile
--------------------
Оглянитесь вокруг! В мире так много прекрасного!
PM MAIL WWW ICQ   Вверх
Akina
Дата 25.11.2005, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 1
Всего: 454



Цитата(St @ 25.11.2005, 00:09)
несколько страшно подключать объектный файл

Это еще почему? TPU-шки тебе подключать не страшно? а ведь это не что иное как библиотека OBJ-файлов особенного формата... просто когда весь мир принял структуру .LIB, Борланд выпендрился...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
St. Andrew
Дата 25.11.2005, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 28.3.2005
Где: Санкт-Петербург

Репутация: 1
Всего: 8



Akina, дело говоришь! Когда буду писать для более серьезных целей, чем сейчас - обязательно воспользуюсь советом! Спасибо! smile
--------------------
Оглянитесь вокруг! В мире так много прекрасного!
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.1122 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.