ne_viens
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Она не считается, она есть. Когда она создавалась для 8086 процессора, может и была быстрее. На современных процессорах loop выполняется за 5 тактов процессора, sub за 0.33, je за 1-2 (если подряд идут независимые однотипные инструкции). Это не трудно проверить самому: Код: #include <windows.h> #include <stdlib.h> #include <stdio.h> int main() { long long x, y, z; __rdtsc(); y = __rdtsc(); __asm { mov ecx, 0xffff L1: nop loop L1 } x = __rdtsc(); __asm { mov ecx, 0xffff L0: nop sub ecx, 1 jne L0 } z = __rdtsc(); printf("loop=%lld ticks\nsub =%lld ticks\n", x - y, z - x); } | | Всего записей: 1530 | Зарегистр. 01-11-2004 | Отправлено: 13:33 24-01-2016 | Исправлено: ne_viens, 13:34 24-01-2016 |
|