Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Asm: Общие вопросы > опкоды для 80188


Автор: Стас123 24.11.2011, 08:51
Добрый день. Похожие темы видел, но ответа не нашёл.
Нужна ПОЛНАЯ таблица перевода мнемоник в опкоды, с расшифровкой полей регистров и т.п.
Всё, что удалось найти - это отдельные таблицы для команд, отдельные для полей регистров.
Несомненно, этой информации достаточно, но пользоваться неудобно, тк нужно вручную подставлять поля в код команды и затем переводить в hex-код. Это очень долго, ведь всех возможных вариантов несколько тысяч.
Может быть, существует полностью расписанная таблица, если нет специально для 80188, то хотябы основной набор для 8086 ?

Автор: arcsupport 24.11.2011, 09:27
Ума не приложу, зачем это может понадобиться.
Что вы просите есть в дизассемблерах длин инструкций.
На http://ru.wikipedia.org/wiki/Дизассемблер_длин написано, что дизассемблер приведен в книге Юань Фэна "Программирование графики для Windows"

Автор: 500mhz 24.11.2011, 10:59
типа этого?

Автор: Стас123 24.11.2011, 17:57
О! да, 500 мегагерц  smile это оно ! Спасибо огромное, теперь уже легче будет !  smile 

Зы: зачем понадобилось и почему нигде не найти - да вот потому и не найти что никому не надо  smile .
Даже в официальных интеловских книгах всё в сжатом виде. Но по специнструкциям для прерываний, ПДП и таймеров 188 уже разобрался. Но основное всё-таки это внутренняя обработка данных, и вот тут и пригодится таблица х86.
А понадобилось... нужно оживить прибор со встроенным контроллером 80С188XL, слетело УФПЗУ 2к*8, алгоритм работы известен, со схемой разобрались, теперь задача написать заново и отладить ПО. Имеется service-tool подключаемый напрямую к магистралям контроллера, с возможностью прошивки ПЗУ прямо на плате и пошаговой отладки программы.

Ещё раз спасибо за оперативную помощь !  smile 

Автор: Dik0n 24.11.2011, 21:57
оно не ???

http://ref.x86asm.net/
http://ref.x86asm.net/coder32.html

Автор: Стас123 25.11.2011, 18:07
Спасибо, тоже наверное пригодится.

Можно я здесь же спрошу, т.к. не уверен аппаратный это косяк или ...? хотя что "или"...
Странно выполняется команда HALT (код F4). Процессор останавливается, шины данных и управления свободны (нет сигналов), а на шине адреса остаётся висеть адрес команды, следующей за командой СТОП. Ну, там же предвыборка, толи 4 толи 6 команд. 
Так что это так задумано, или что-то погорело внутри проца ? Диспетчер очереди команд сдох ?
Собственно, оно вроде не мешает. На сигнал HOLDА (запрос захвата шин), например при подключении сервис-тула, процессор реагирует адекватно: выдаёт сигнал подтверждения и освобождает-таки шину адреса. После снятия захвата - снова вывешивает следующий адрес.
Сигналы аппаратных прерываний из остановленного состояния тоже нормально отрабатывает. Просто интересно, в чём дело ?
Извините если задал вопрос не там...  smile 

Автор: arcsupport 25.11.2011, 18:35
Я так понимаю эта команда останавливает процессор до того момента, как его что-нибудь не запустит.

Автор: Стас123 25.11.2011, 20:07
Да, так и есть. Перезапуск возможен по сигналу reset, аппаратному прерыванию (внешнему), и внутреннему прерыванию (от таймеров и КПДП ). Это всё работает. Вопрос почему шина адреса не освобождается до того момента, пока сопроцессор (или как в нашем случае пульт ручного программирования) не отправит запрос на шины.
Например, 80-й освобождает сразу всё и стоит себе, ждёт перезапуска.  С 86-м работать не приходилось. Вот у 188-го обнаружилась такая особенность . 
Характерно ли это для всех процессоров с предвыборкой команд ?
Интересно, что висит именно следующий адрес. Вот например, код F4 находится по адресу 204d, после его выполнения и остановки - на шине адреса висит 204e. Причём шины данных и управления свободны (отключены, состояние "высокого сопротивления") . А на шине адреса нормальные логические уровни. Моя непонимай.  smile 

Автор: arcsupport 28.11.2011, 17:45
Я где-то встречал код для определения типа процессора. Если мне не изменяет память, для определения тонких различий использовались значения регистра IP.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)