Содержание
- 2. Команды сравнения и булевых операций • Флаги результатов выполнения команд ZF- обнуление CF- выход за границу
- 3. – – – – Команды условных переходов • J?? ; много вариантов – Условия – во
- 4. Команды циклов • LOOP* ; есть варианты • LOOP: if (!--ECX) goto . – счётчик только
- 5. Условные конструкции ЯВУ(1) mov mov mov eax,op1 ebx,op2 ecx,op3 while(op1 { op1++; if(op2==op3) X=2; else X=3;
- 6. Условные конструкции ЯВУ(2) switch(par) { case ’A’: Process_A(); break; case ’B’: Process_B(); break; case ’C’: Process_C();
- 7. Условные директивы ассемблера • Условная конструкция • Сравнения .IF условие1 команды [.ELSEIF условие2 команды] [.ELSE команды]
- 8. Напоминания • Циклы (LOOP* ) – Важно: расстояние до от -128 до 128 байт • Фокусы
- 9. Сдвиги ??? SH?D операнд,счётчик получатель,источник,счётчик SHL SAL SHR CF 0 MSB … … LSB 0 CF
- 10. Умножение и деление • MUL операнд IMUL операнд Множимое AL AX Множимое Множитель reg/mem8 reg/mem16 Множитель
- 11. Тонкости применения • Сдвиги – Сдвиг массива – Быстрое умножение – Выделение полей • Умножение –
- 12. Произвольная точность • ADC – ADd with Carry • SBB – SuBtract with Borrow Сложить (Вычесть)
- 13. Об основах программирования • Создание и инициализация автопеременных • Область действия и время жизни переменных •
- 14. Локальные переменные • Назначение – Упрощение отладки – Переиспользование памяти – Переиспользование имён BubbleSort PROC LOCAL
- 15. Параметры регистровые и стековые pushad mov esi,OFFSET array mov ecx,LENGTHOF array mov ebx,TYPE array call DumpMem
- 17. Скачать презентацию