![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() |
-DB- |
![]()
Сообщение
#1
|
Гость ![]() |
Код program l; c,i:byte; begin c:=0; for i:=1 to 255 do inc(c); readln; end. и Код program l; c,i:byte; begin c:=0; for i:=1 to 255 do c:=c+1; readln; end. Разницы же никакой так зачем же создали процедуру inc :fire: |
![]() ![]() |
xds |
![]()
Сообщение
#2
|
![]() N337 ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 737 Пол: Мужской Репутация: ![]() ![]() ![]() |
Для "Dec(c, n);" и "Inc(c, n);" причины прироста производительности имеют аналогичный характер.
Достаточно забавно наблюдать за поведением оптимизатора BP (как, впрочем, и за работой любого другого "чёрного ящика"): он "догадывается" заменить "ax + 1" на "inc ax", "ax + 2" на "inc ax; inc ax", "ax + 7" на "add ax,7" и т. п, но, встретившись с операндом длиной 8 бит, вместо "inc al" честно делает "xor ah,ah" и сводит задачу к уже решённой. ![]() Сообщение отредактировано: xds - 26.11.2004 3:23 -------------------- The idiots are winning.
|
![]() ![]() |
![]() |
Текстовая версия | 21.07.2025 15:34 |