Ассемблер для Windows


Дизассемблированный текст программы (Рисунок ) Транслятор Borland C++



Рисунок 4.5.6. Дизассемблированный текст программы (Рисунок 4.5.5). Транслятор Borland C++ 5.0.

Кстати, функция ExitProcess(0) введена в текст программы для быстрого поиска нужного фрагмента в отладчике или дизассемблированном коде. Сразу видно, что оптимизацией здесь и не пахло. По такому тексту достаточно просто восстановить исходную Си-программу. А вот код, оптимизированный транслятором Visual C++ 6.0 (Рисунок 4.5.7).

.text 00401000 sub_401000 proc near ; CODE XREF: start+AF .text 00401000 push esi .text 00401001 mov esi, 0Ah .text 00401006 .text 00401006 loc_401006: ; CODE XREF: sub_401000+18 .text 00401006 push 61h .text 00401008 push 61h .text 0040100A push offset aCC ; "%c %c\n" .text 0040100F call sub_401030 ;printf .text 00401014 add esp, 0Ch .text 00401017 dec esi .text 00401018 jnz short loc_401006 .text 0040101A push 0 ; uExitCode .text 0040101C call ds:ExitProcess .text 00401022 pop esi .text 00401023 retn .text 00401023 sub_401000 endp




- Начало -  - Назад -  - Вперед -



Книжный магазин