Superfluous Prefixes

Dec 03, 2007 23:48

Префиксы

rain экспериментировал с префиксами repe/repne, после чего повторили эксперимент на мне. И вот что получается: если добавить два противоречащих друг другу префикса в команду scas, то на разных процессорах они ведут себя по-разному. На моем процессоре (Pentium M) выполняется первый префикс, а на процессоре rain'а (AMD Duron) дела обстоят иначе: выполняется второй (т.е. тот, который ближе к опкоду) префикс.

Интереса ради мы написали небольшую тестовую программу, которая показывает, какой префикс выполняется первым:

format PE GUI

include 'win32a.inc'

mov al, 'a'
        mov ecx, 0xFFFFFFFF
        mov edi, _str
        ;db 0f2h
        ;repe scasb
        db 0xf3
        repne scasb
        ret

_str db "aaaaabbbbbccccc"

интересно, у кого как отрабатывает порядок следования префиксов?
Previous post Next post
Up