Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Оптимизация при МСС18
http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=4915
Страница 1 от 1

Автор:  Gogo [ Пет Окт 05, 2007 7:54 pm ]
Заглавие:  Оптимизация при МСС18

Това е част от листинга на една програма, компилирана с MCC18:
Код:
MOVLB     0x0         
MOVLB     0x0         
MOVF      0x38,0x0,0x1
ANDLW     0x1         
BZ        0x884       
MOVLB     0x0         
MOVLB     0x0         
MOVF      0x21,0x0,0x1
ANDLW     0x10       
BNZ       0x884       
MOVLB     0x0         
MOVLB     0x0         
MOVF      0x21,0x0,0x1
ANDLW     0x20       
BZ        0x888       
MOVLW     0x0         
BRA       0x88a       
MOVLW     0x1         
MOVLB     0x0         
BCF       0x38,0x2,0x1
BTFSC     0xe8,0x0,0x0
BSF       0x38,0x2,0x1
MOVLB     0x0         
MOVLB     0x0         
MOVF      0x38,0x0,0x1
ANDLW     0x1         
BZ        0x8b0       
MOVLB     0x0         
MOVLB     0x0         
MOVF      0x21,0x0,0x1
ANDLW     0x10       
BZ        0x8b0       
MOVLB     0x0         
MOVLB     0x0         
MOVF      0x21,0x0,0x1
ANDLW     0x20       
BZ        0x8b4       
MOVLW     0x0         
BRA       0x8b6       
MOVLW     0x1         
MOVLB     0x0         
BCF       0x38,0x3,0x1
BTFSC     0xe8,0x0,0x0
BSF       0x38,0x3,0x1

Ако забелязвате, "MOVLB 0x0" се повтаря за щяло и нещяло и то по много пъти - както казваше едно време един наш "политик": "Ората искат да има Станко"... и то има, не е като да нема :lol:
Включвах и изключвах всички видиве оптимизации - все тая. Това е с последната версия от сайта на Microchip.
Някой борил ли се е с това?

Автор:  [ Пет Окт 05, 2007 10:31 pm ]
Заглавие: 

Не съм срещал този феномен :-) Ако променливите ти се събират в access паметта, дефинирай ги така в сорса:
Код:
#pragma udata access my_access
near uint8 Counter;
#pragma udata

Автор:  Цецо [ Съб Окт 06, 2007 11:00 am ]
Заглавие: 

Както каза пирев, ако бързаш ръгай в аксеса.

Иначе незнам що но си мисля че трябваше да има банков оптимизатор.... Ама може и да бъркам.

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/