a
asm@cs.msu.ru
описание
Архитектура ЭВМ и язык ассемблера http://asmcourse.cs.msu.ru/
861
подписчиков
Охват к подписчикам
159,8%
ERR
Реакции к просмотрам
1,12%
308 на 20 постов
Пересылки к просмотрам
0,61%
169
Постов в день
0,0
всего 20
Где отзываются чаще
доля реакций к просмотрам- 2 июн.Шаповалова Елизавета Аркадьевна - просьба подойти в 248 прямо сейчас6,20%
- 2 июн.Результаты за 2026 год2,83%
- 29 апр.Рубрика "Сложные вопросы" Сегодня после лекции был вопрос по неожиданным для студента результатам дизассемблирования. В листинге встретился регистр eiz. Вопрос, что это такое? Сразу и, главное, точно вспомнить мне не удалось, потому разъясняю сейчас. Короткий ответ. eiz это псевдорегистр, у которого константное значение 0. Утилита objdump при дизассемблировании может выдать листинг с таким псевдорегистром. Чуть более длинный ответ. Кодировка команд в x86 крайне занятная. После кода операции в команде размещаются байты, кодирующие операнды. У этих байт есть личные имена: ModR/M и SIB. Напоминаю, что нам надо уметь как-то закодировать выражение (scale * index) + base + displacement. Поля байт ModR/M и SIB определят, какие из слагаемых присутствуют, какие именно регистры используются, сколько байт (1 или 4) будет отведено для displacement. Сам displacement, если он есть, размещается в коде команды уже после байта SIB. Байт SIB нарезается на следующие поля. Bit |7 6 | 5 4 3 | 2 1 0 Usage |SCALE | INDEX | BASE Поле scale превращается в коэффициент по следующему правилу 0 0 - 1 0 1 - 2 1 0 - 4 1 1 - 8 Поля index и base кодируют (32-х разрядные) регистры общего назначения следующим образом 0 0 0 - EAX 0 0 1 - ECX 0 1 0 - EDX 0 1 1 - EBX 1 0 0 - ESP 1 0 1 - EBP 1 1 0 - ESI 1 1 1 - EDI Но, как вы все, конечно, помните регистр ESP не может быть индексным, хотя такая комбинация битов в SIB может встретиться! Поле index со значением 100 будет восприниматься машиной как нулевой индекс, все зависимости от scale. Для явной демонстрации такой комбинации бит в команде, некоторые дизассемблеры используют псевдорегистр eiz, который следует воспринимать как константное нулевое значение. Для чего такая экзотическая кодировка может потребоваться? Чтоб дать знать, ваш работодатель удерживает вас в заложниках. можно было сформировать аналог команды NOP не из одного байта, а, например, из четырех: 8D 74 26 00 lea esi, [esi+eiz*1+0x0] Полезные ссылки (eng) https://www.cs.uaf.edu/2002/fall/cs301/Encoding%20instructions.htm https://en.wikipedia.org/wiki/ModR/M2,10%
- 1 июн.ℹ️ Рассадка по аудиториям на экзамене 101 - МЗ №1 102 - МЗ №2 103 - МЗ №3 104 - МЗ №4 105 - 574 106 - 248 107 - 758 Кому не хватит мест - МЗ №0 Рассадка по местам в порядке четности: четные логины на четные компьютеры и наоборот. Экзамен пишем в виртуалке prac.alt, как это было на коллоквиуме Еще раз напоминаю, как до нее добраться. Загружаем компьютер, выбираем local boot, вводим личный логин и пароль, после чего в списке виртуалок выбираем prac.alt1,80%
- 5 маяВо вторник вечером получил с Факультета письмо про корь, с приказом ректора про дистант для непривитых. Таким образом, в среду, 6 мая, встречаемся как обычно - в 8:45, но не в П-5, а в ВКС https://jitsi.ispras.ru/asmcourse Остается только надеяться, что наш ИСПовый сервер вывезет всех желающих1,75%
- 2 июн.ℹ Раздача зачеток будет в аудитории 248, ориентировочно в 14:00. Время может подвинуться как в одну, так и в другую сторону, следите за объявлениями.1,52%
- 8 мая🎉 Good news, everyone! Со среды возвращаемся к проведению нормальных лекций. Последние две пройдут 13 и 18 мая соответственно. Понедельник, 11 мая, учимся по расписанию субботы, т.е. без Асма. Всех с наступающим праздником.1,47%
- 27 маяℹ️ Комиссия по практикуму будет завтра, 28 мая. Место и время проведения - МЗ №2, с 13:00 до 15:00.1,20%
- 17 маяℹ️ Уже завтра, в понедельник, на Факультете начинает работу ГАК, а у нас остается еще одна законная пара. Аудиторию П-5 забирают как раз под ГАК, а нас на прощальную встречу перемещают в П-8, где мы встретимся, как и всегда, в 8:45.1,13%
- 27 апр.Как обещал - выкладываю слайды про устройство классов/объектов C++. Материал читался в этом году во ВШЭ. #c++ #extra1,02%
- 18 маяℹ️ Консультация будет 28 мая, четверг, 10:30, аудитория П-5. Экзамен - 2 июня, вторник, 9:00.0,62%
- 6 маяСлайды 21 лекции А вот с записью видео все плохо, файл оказался битый Поищу, что было в прошлые годы, накидаю сюда ссылок0,57%