hi-tech picc

Jan 30, 2004 Last reply: 22 years ago 3 Replies
ðpÉ×ÅÔ!

HyÖÎÏ ÐpÏÞÉÔÁÔØ Ó ÎÏÇÉ ËÏÎÔpÏÌÌÅpÁ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏ 11 ÂÉÔ É ÚÁÐÉÓÁÔØ ÓÏÏÔ×ÅÔÓÔ×ÅÎÎÏ × Ä×Å ÐÅpÅÍÅÎÎÙÅ. HÁ ÁÓÍÅ ÜÔÏ ÄÅÌÁÅÔÓÑ ÐpÏÓÔÏ - ÓÄ×ÉÇÁÀ Ä×Å ÐÅpÅÍÅÎÎÙÈ É × ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÓÏÓÔÏÑÎÉÑ ÎÏÇÉ ÐpÉÂÁ×ÌÑÀ 1. á ËÁË ÜÔÏ ÓÄÅÌÁÔØ ÎÁ ó, ÞÔÏÂÙ pÁÚÍÅp ËÏÄÁ ÂÙÌ ÎÅ ÂÏÌØÛÅ? ó ÁÓÍÏ×ÙÍÉ ×ÓÔÁ×ËÁÍÉ ÎÅ ÐÏÌyÞÁÅÔÓÑ - ËÏÍÐÉÌÑÔÏp ÎÅ ÓÏÏÔÎÏÓÉÔ yËÁÚÁÎÎÙÅ × ÁÓÍÏ×ÏÊ ×ÓÔÁ×ËÅ ÐÅpÅÍÅÎÎÙÅ, Ó ÔÅÍÉ, ÞÔÏ Ñ ÏÐpÅÄÅÌÑÀ ÎÁ ó. :(



PS åÓÔØ ÌÉ ÐÏÄpÏÂÎÙÅ ÄÏËÉ ÎÁ hi-tech C?



ðÏËÁ.

Hello, Dmitriy Shustov !

ôÏÞÎÏ ÔÁË ÖÅ, ÓÄ×ÉÇÁÅÛØ É ÓÍÏÔÒÉÛØ.

ôÁÍ ÅÓÔØ ÏÇÒÁÎÉÞÅÎÉÅ. ðÅÒÅÍÅÎÎÁÑ ÄÏÌÖÎÁ ÂÙÔØ ÇÌÏÂÁÌØÎÏÊ. ôÏÇÄÁ × ÁÓÍÅ ÔÙ ÅÅ ÉÓÐÏÌØÚÕÅÛØ c ÐÏÄÞÅÒËÏÍ:

char var;

void func(void) { ......

asm("rrf _var"); ...... }

õ ÍÅÎÑ ÅÓÔØ. ó Õ×ÁÖÅÎÉÅÍ, äÉÍÁ ïÒÌÏ×.

Привет!

Fri, 30 Jan 2004 10:32:32 +0300, Dmitriy Shustov писал:

А в чём проблема? Для PIC18:

void Hren () { short x = 0 ; char y = 11 ; do { x <<= 1 ; if ( Com_RX ) x |= 1 ; } while ( -- y ) ; }

738 0408 _Hren: 742 ;terminal.c: 310: short x = 0 ; 743 040A 6AF3 clrf prodl,c 744 040C 6AF4 clrf prodh,c 745 ;terminal.c: 311: char y = 11 ; 746 040E 0E0B movlw 11 747 0410 6ED9 movwf fsr2l,c 748 0412 l56: 749 ;terminal.c: 312: do 750 ;terminal.c: 313: { 751 0412 90D8 bcf status,0,c 752 0414 36F3 rlcf prodl,f,c 753 0416 36F4 rlcf prodh,f,c 754 ;terminal.c: 315: if ( RC7 ) x |= 1 ; 755 0418 BE82 btfsc 3970,7,c ;volatile 756 041A 80F3 bsf prodl,0,c 757 ;terminal.c: 316: } 758 ;terminal.c: 317: while ( -- y ) ; 759 041C 2ED9 decfsz fsr2l,f,c 760 041E D7F9 goto l56 761 ;terminal.c: 318: } 762 0420 0012 return

Что здесь такого неэффективного?

На сайте было.

Александр Голов, Москва, snipped-for-privacy@mtu-net.ru

"Dmitriy Shustov" ÓÏÏÂÝÉÌ ÓÌÅÄÕÀÝÅÅ...

unsigned v; char i=11; do { v<<=1; v&=0xFFFE; if (INPORT) v|=1; } while (--i); v&=0x3FF;

õ ÍÅÎÑ: <> User's guide <> PICC ANSI C Compiler <> PICC Manual äÏÓÔÁÔÏÞÎÏ ÐÏÌÎÁÑ ÄÏËÕÍÅÎÔÁÃÉÑ. éÌÉ ÔÅÂÅ ÞÅÇÏ-ÔÏ ÂÏÌØÛÅÇÏ?

---- Andy Pike tech@@@sym.ru

formatting link

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required