а вот например правя сегодня во все дыры udis86 наткнулся на чудесное:
lfence - 0F AE /5
xrstor - 0F AE /5
кажется от нас что-то скрывают (c)
Update: в доке от Intel сказано ровно то же самое. Опыты однако показали что правильно должно быть примерно так:
lfence - 0F AE /5 /mod=11 с любым /rm. Итого этой инструкции 8 различных opcodes
xrstor - 0F AE /5 /mod=!11
почему mod не должен быть равен 11 я так и не вкурил, но иначе оно не работает
читайте правильные доки от интела (хотя даже в них уйма очепяток и недосказанностей)
ОтветитьУдалить253667-038, p4-522
0F AE /5 XRSTOR mem
откуда и вытекает mod!=11
означает ли это что /rm у lfence может быть любым ?
ОтветитьУдалитьтеоритически да
ОтветитьУдалитьты скажи лучше - у тебя avx instruction set поддерживается ?
ОтветитьУдалитьв настоящий момент нет,
ОтветитьУдалитьдумаешь - надо ?
теоретически один камень уже доступен
ОтветитьУдалитьyasm 1.1.0 & vs2010 даже умеют генерить код для него например