Комментарии 25
Инструкция 0x4e 0x53 0x41 0x20 переводит процессор в привилегированный режим и отключает любые проверки на ring0, ring -1 и т.д.
+11
А вы по памяти коды символов писали или в таблицу подсматривали?
+1
А вы их по памяти читали? :)
Что же должна делать инструкция 4Bh 47h 42h 20h…
Что же должна делать инструкция 4Bh 47h 42h 20h…
+1
НЛО прилетело и опубликовало эту надпись здесь
Ну заглавную A и пробел в конце я глазами разглядел, например, их коды сложно забыть.
+2
HIEW подсказывает, что эта последовательность байтов соответствует этому коду:
dec bx inc di inc dx and [bx][si],alЧто это делает — честно, не в курсе. Ассемблер один раз порывался выучить, но быстро сдулся :(
+1
ээээм… KGB? мда… сарказм детекшн фейлид :(
+1
Да там ничего сложного нет. Любой ассемблер — суть представление инструкций в человекопонятном виде. А процессор умеет делать довольно примитивные вещи: сложить два числа в регистрах, умножить их, считать число из памяти в регистр — в этом духе. Так что изучайте, лишним не будет. Не обязательно углубляться, достаточно научиться писать простенькие циклы и вызывать процедуры — для понимания того, что сгенерил компилятор из С или C++, хватит вполне. Через месяц-два изучения сможете уже прослеживать корелляцию между своей писаниной и выхлопом компилятора, и соответственно понимать, «сколько стоят» те или иные фичи в ЯП.
+1
echo "...."|hexdump -C
0
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
В/О FПРГ Fx2 Fx2 × Fx2 ХПС Сх С/П FАВТ В/О 1 ВП 22 В↑ 1 ВП 50 С/П
+18
Когда-то были популярны знаменитые Interrupt List: www.cs.cmu.edu/~ralf/files.html
Там же где-то были и недокументированные команды.
Там же где-то были и недокументированные команды.
+1
Мне вспоминается, как я когда-то давно делал таблицу команд процессора 80x86 по книге Зубкова «Ассмеблер для dos windows и unix». Тогда тоже обратил внимание на «ICEPB» 0xF1. Но эта команда была «на виду», ее недокументированность сложно было не заметить. А вообще таких команд может быть неограниченное количество — ведь кроме «основой» таблицы, есть команды начинающиеся с 0x0F — та таблица содержит еще много «дырок», есть команды типа FPU устроенные аналогичным образом и т.п. Наконец, какая-нибудь редкоисползуемая или вообще недокументированная/незадействованная команда может делать что-то не то при определенном сочетании данных в регистрах.
0
Начиная с PentiumPro все чудеса сошли на нет. Всё просто: так то, что как современные процессоры реально исполняют имеет мало общего с тем, что пишет программист (даже на ассемблере), то всякие подобные чудеса отсекаются на весьма ранних этапах.
+1
Я только вот что не пойму. Если 0x69 — недокументированный алиас к 0x79, то почему 0x79 не проверяется? Вот так недокументированные возможности и становятся внезапным стандартом…
+1
НЛО прилетело и опубликовало эту надпись здесь
Когда-то давно читал, что только на 8086 (насчет 8088 не уверен) можно было выполнить mov cs,ax. И это был бы межсегментный переход.
Даже был какой-то вирус, который работал только на 8086 из-за использования этой возможности.
Даже был какой-то вирус, который работал только на 8086 из-за использования этой возможности.
0
Corkami — x86 oddities code.google.com/p/corkami/wiki/x86oddities
0
Странно, что так сложно было :) раньше была такая книга «Ассемблер PC/XT». Она, кстати, и в СССР переводная была. Там коды команд описывались с точки зрения дешифратора команд и внутренних состояний процессора. Там же довольно регулярная система команд была. Отлично было видно поведение всех «недокументированных» команд. Плюс, они перечислялись в конце книги. Было ещё несколько подобных книг. И по Z80 подобное было. Просто потом по мере развития архитектуры большая часть документации была переписана и формализована. Некоторые стали legacy либо просто опущены. А тогда во многой литературе описывались не только недокументированные коды, но и отличия между процессорами разных производителей. 8086 отличался от 8080, а Intel от NEC и AMD. И при разработке всякого рода низкоуровневого софта это учитывалось :)
+5
Можно насладится реализацией x86 в исходниках (не Intel конечно)
www.ht-lab.com/freecores/cpu8086/cpu86.html
zet.aluzina.org/index.php/Zet_processor
Еще было на Хабре
habrahabr.ru/post/146160/
www.ht-lab.com/freecores/cpu8086/cpu86.html
zet.aluzina.org/index.php/Zet_processor
Еще было на Хабре
habrahabr.ru/post/146160/
0
Зарегистрируйтесь на Хабре , чтобы оставить комментарий
Недокументированные операционные коды процессора 8086