Вот вам который доказывает (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено 01 декабря 2003 г. 15:02
В ответ на: а этот пример не доказывает различия пре и пост декремента отправлено yes 01 декабря 2003 г. 14:47

пост-инкремент


long int main(){
unsigned long int counter = 0;
unsigned short i = 10;
do {
counter++;
} while( i-- != 0 );

return counter;
}



;*******************************************************************************
;* FUNCTION NAME: _main *
;* *
;* Function Uses Regs : AC0,AC0,SP,M40,SATA,SATD,RDM,FRCT,SMUL *
;* Stack Frame : Compact (No Frame Pointer) *
;* Total Frame Size : 1 word *
;* (1 return address/alignment) *
;*******************************************************************************
_main:
MOV #11, AC0
RET
; return occurs

пре-инкремент


long int main(){
unsigned long int counter = 0;
unsigned short i = 10;
do {
counter++;
} while( --i != 0 );

return counter;
}



;*******************************************************************************
;* FUNCTION NAME: _main *
;* *
;* Function Uses Regs : AC0,AC0,SP,M40,SATA,SATD,RDM,FRCT,SMUL *
;* Stack Frame : Compact (No Frame Pointer) *
;* Total Frame Size : 1 word *
;* (1 return address/alignment) *
;*******************************************************************************
_main:
MOV #10, AC0
RET
; return occurs

Зачем Вы меня заставляете доказывать то, что компилятор работает? И различает эти декременты?

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru