[uquote="Transformer-V",url="/forum/viewtopic.php?p=4163371#p4163371"][uquote="КРАМ",url="/forum/viewtopic.php?p=4163350#p4163350"]Трансформатор, ты даже в вобщем то правильном комментарии умудряешься городить глупости.
1.
Компилятор не может ничего
интерпретировать. Запомни, трансляторы с языков бывают ДВУХ типов - компиляторы и интерпретаторы. Первый транслирует текст в исполняемый код ДО его загрузки и исполнения, а второй - прямо во время исполнения покомандно.
:[/uquote]
крам, прежде чем нести фееричную ахинею, для начала нужно ознакомится, как
компилируется исходный код С
компилятором MSVC.[/uquote]
Дебил, ты себя то хотя бы читай...
Ты же сам написал об ИНТЕРПРЕТАЦИИ программы КОМПИЛЯТОРОМ.
[uquote="Transformer-V",url="/forum/viewtopic.php?p=4163073#p4163073"]На машине x86/x64
Компилятор интерпретирует код C в машинный код ASM при делении к примеру на 16:[/uquote]
И к тому же ASM не является машинным кодом, есличо. Учи матчасть.
Про твой любимый высер с "опкодом" мне более добавить нечего. Можешь продолжать смешить людей "умными" словами смысла которых ты не понимаешь.
[uquote="Transformer-V",url="/forum/viewtopic.php?p=4163073#p4163073"]idiv быстрее естественно.[/uquote]
В догон. Глупость номер 3 от нашего Трансформатора.
Скорость исполнения кода зависит не только от числа инструкций, но и от времени исполнения КАЖДОЙ из этих инструкций. Поэтому код из пяти строк на ассемблере с делением будет исполняться ДОЛЬШЕ, чем код из шести инструкций с арифметическим сдвигом. Просто потому, что
деление - это итерационный алгоритм и он не может быть выполнен за один машинный цикл, если длина конвейера короче длины исполнения деления.
Так целочисленное деление в х86 выполняется МИНИМУМ за 12 тактов (ну или машинных циклов в терминологии МК).
Твое чирикание про х86 вообще не в тему, ибо речь шла о контроллерах, в которых конвейер всегда сильно короче, чем в х86. А если разговор про ARM, то он и вовсе RISC, а не CISC как х86, что весьма важно в контексте обсуждения.
Именно поэтому компилятор генерирует сдвиг при делении на степень двойки.
ЗЗЫ. Подтирать за собой АПОСТЕРИОРИ - твоя любимая фича. Ты постоянен во всем.
