Многие наверное знают код операции nop на х86 платформе — 0х90. А вот на кусок из листинга дизассемблера для amd64 платформы:
fffff800`01c32826 cc int 3
fffff800`01c32827 cc int 3
fffff800`01c32828
66666690 nop
fffff800`01c3282c
66666690 nop
Вот они — аццкие нопы
Здравствуйте, TarasCo, Вы писали:
TC>fffff800`01c32828 66666690 nop
TC>fffff800`01c3282c 66666690 nop
TC>Вот они — аццкие нопы
А разве это не Operand Size Override Prefix ?
ДД>А разве это не Operand Size Override Prefix ?
Да ну что Вы!!! Это число Дьявола, однозначно
Здравствуйте, ДимДимыч, Вы писали:
ДД>А разве это не Operand Size Override Prefix ?
Вполне возможно, но интересно знать — как можно Operand Size Override для nop ?
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Вполне возможно, но интересно знать — как можно Operand Size Override для nop ?
Насколько знаю, он просто проигнорируется. Да и nop — это не отдельная инструкция, а xchg al,al.
Здравствуйте, ДимДимыч, Вы писали:
ДД>Насколько знаю, он просто проигнорируется. Да и nop — это не отдельная инструкция, а xchg al,al.
xchg al,al = 86С0
xchg ax,ax = 90
Или я смайлик пропустил?
PS. Втыкать 66 идея просто гениальная — инструкция выполняется ровно за один такт, при этом занимает ровно столько места, сколько нужно.
... << RSDN@Home 1.2.0 alpha rev. 642>>
Здравствуйте, Блудов Павел, Вы писали:
БП>БП>xchg al,al = 86С0
БП>xchg ax,ax = 90
БП>
БП>Или я смайлик пропустил?
Хм. А действительно. Хотя
здесь говорят иначе