ChizhЦитата:
Вообще писать программу из несвязных инструкций дело неблагодарное. К тому же у многих инструкций неявные операнды. Например надо быть ясновидящим, чтобы сразу правильно понять, что происходит с регистрами в инструкциях "cmpxchg [ebx],ecx", "mul ebx", "rdtsc", "cpuid" которые неявно используют и модифицируют множество дополнительных регистров. Ущербный синтаксис инструкций не отвечает современным стандартам выразительности
"Современные стандарты выразительности" -- чушь, поскольку и раньше стандарты были ничуть не меньше (или, по-Вашему, в 1967-м выразительность неважна, а спустя 40 лет вдруг потребовалась?).
Что касается ущербного синтаксиса -- согласен, но он проистекает из ущербной системы команд, а её изменить мы не в силах. Единственное, что реально можно сделать (если не притягивать "за уши") -- это комментировать подобные места для облегчения восприятия (вообще, комментарии -- вещь очень полезная, даже если пишешь исключительно для себя).
Что же касается "ясновидения", то нужно не ясновидящим быть, а опытом достаточным обладать ;) Я вот сходу не скажу, что и как меняется в CMPXCHG, RDTSC и CPUID -- инструкции весьма редкие. А вот с MUL у меня проблем не возникает ;)