Поскольку оригинальные 8086 и 8088 не имеют программного исключения для нелегальных инструкций, как они себя ведут при подаче, например, «FF FF» (а не код операции)? Задерживаются ли они, перезагружаются ли они, возможно, выдавая специальную индикацию цикла на своей шине управления?Эффект неопределенных кодов операций на (оригинал) Intel 8086/88
ответ
Если память служит, официальным заявлением Intel было то, что все они были NOP.
В действительности, по крайней мере, некоторые из неопределенных op-кодов выполняются как настоящие инструкции, которые дают результаты. Например, второй байт AAD или AAM равен 00001010. Это преобразуется в 10 в десятичном значении. Если вы выполняете инструкцию с тем же первым байтом, что и один из них (11010101 или 11010100, соответственно), но измените второй байт на другое значение (скажем, 00000100), он будет делать то же самое, но в базе у вас есть (октал для 00000100).
Редактировать: Вы, похоже, намерены превратить свой вопрос в тот, на который практически никто не может ответить. Вы начали с запроса о неопределенных операционных кодах, но затем ограничите его некоторыми подмножествами тех Intel, которые сказали, что они не определены, и только хотят знать о тех, которые действительно были, действительно undefined (по определенному определению, которое, по-видимому, существует только в вашей голове).
Единственный вопрос, который, кажется, вообще подлежит обсуждению, - «что сделал ffff?» В свое время я мог бы ответить на это, но обо всем, что я могу сказать, «видимо, ничего не запоминается».
Что касается утверждений, что это неправильно, вы, кажется, ошибаетесь в этом за что-то, о чем действительно заботился Intel. По большей части недокументированные операционные коды были именно такими: недокументированными. Они приложили значительные усилия для документирования того, как все будет работать, когда вы будете следовать «правилам», но в основном игнорируете, что произойдет иначе.
Из всего того, что вас удовлетворит, это настоящий 8088/8086, который все еще работает, с которым вы можете протестировать. Желаю вам удачи в том, чтобы найти это.
Если вы действительно заинтересованы, вы можете приобрести соответствующие компоненты от Jameco (они продают тяги для 8088, 8086 и даже NON V20 CMOS «turbo») и создают простую/маленькую машину, чтобы проверить ее.
Ну, мы знаем, что делают некоторые неопределенные коды операций. Мой друг reenigne, или Andrew Jenner, проверил аппаратные коды 0x60-0x6F для меня. Оказывается, это просто псевдонимы 0x70-0x7F или условные прыжки.
EDIT: Другими словами, они, вероятно, не являются NOP, а тестируемые определенно не являются NOP.
- 1. Обработка фиктивных операций процессора Intel
- 2. извлечение кодов операций из двоичного файла
- 3. Как отправить отправителю оригинал оригинал на элемент ReplyToItem в EWS
- 4. Получение кодов операций переменной длины и времени процессора
- 5. Почему Lua предназначен для генерации промежуточных кодов операций?
- 6. Как назначить CV пакету со списком кодов операций?
- 7. Что требуется для добавления кодов операций в существующий двоичный файл?
- 8. «Отключенный» эффект на изображении
- 9. Flyout эффект на изображение
- 10. Установить расположение управления на оригинал
- 11. 8086 Ассемблер - создание кода объекта с помощью кодов операций
- 12. Можно ли подсчитать количество кодов операций с помощью Tokenizer?
- 13. Что такое постфикс синтаксиса AT & T для кодов операций?
- 14. Идиоматический способ моделирования кодов операций со встроенными данными в Swift
- 15. Директивы Nginx Location, каков эффект трейлинг-кодов или префиксов?
- 16. Звуковой эффект системы для операций копирования, вставки и удаления
- 17. Влияние логических операций на флагов переноса (8085)
- 18. Ionic2 - поповер (ОРИГИНАЛ ИСКЛЮЧЕНИЕ: TypeError: Не удается прочитать свойство «создать» неопределенных)
- 19. Пути кодов на iOS
- 20. Программирование на Intel?
- 21. OpenMP на Intel i7
- 22. Настройка математических параллельных кодов
- 23. BOOST_MESSAGE неопределенных
- 24. Как нажать на оригинал мастера в Git?
- 25. Python модифицирующая копия массива влияет на оригинал?
- 26. jQuery изменение оригинал-заголовок текст на клик?
- 27. Bootstrapping: Ошибка в статистике (данные, оригинал, ...): неиспользуемый аргумент (ы) (оригинал)
- 28. Intel XDK не работает на андроид
- 29. ADODB.Connection неопределенных
- 30. Wordpress вернуть оригинал ссылающейся
«Если память хранится, ... все они были NOP» Мне трудно поверить, что: как бы ЦП знал длину * незаконной инструкции, IOW, сколько байтов пропустить после предполагаемого NOP? Нет, это неправильно. Спасибо, в любом случае. Кто-нибудь еще? Может быть, кто-то с 8086 в рабочем состоянии может проверить реальную вещь (например, в DEBUG) – Ninho
При ответе на мой комментарий выше, я сожалею, что фраза «это не может быть правильно», пожалуйста, не обижайтесь. Дополнение: Пожалуйста, обратите внимание, что исходный вопрос касается действительно/недействительных/опкодов (если есть ...), а не так называемых невозбужденных (и уже известных), в том числе псевдонизированных версий операций doc'd. Конкретно, все ли вы говорите, что выполнение последовательности, начинающейся с «FFFF» на 8086 или 8088, будет только увеличивать IP на 2 и продолжать выборку/выполнение опкодов? – Ninho
Re: Редактирование Джерри Коффина: Вне сомнения, существуют ppl, которые либо знают ответ, либо будут в состоянии делать осмысленные тесты, поэтому я задался вопросом (здесь и в группе Usenet c.l.a.x.) Являются ли такие люди видят мой вопрос и беспокоятся о (исследовании и) ответе, еще предстоит выяснить. Приобретение окаменелости ПК нецелесообразно для этого старика и не стоит того. Большое вам спасибо (первый пользователь этого совета вопросов, я должен дать вам кредиты вроде или иначе признать вашу добрую волю?) – Ninho