vtrx escreveu:Jordam,não compare ASM com C,a não ser que esteja fazendo um sistema operacional.
Não se iluda com duas linhas de código em C e muitos em ASM,pois na verdade o código é maior e o desempenho na maioria é menor ou impossível de contornar quando em C.
C para microcontroladores é disperdício.
Nehum compilador C va gerar um código final ,(hex),parecido em ASM,a não ser que esteja fazendo Leds piscarem ou gerando caracteres em displays.
migo, não sei outros compiladores.
Mais o mikroC por exemplo.
as funções, como matemáticas entre outras.
As libis para elas são criadas em ASM, procurando no máximo a qualidade no tamanho, ou seja bem pitikim.
Agora, em 16F628 tu usar um Sprintf(), seria suicidio de memoria.
Uma vez um cabra aqui do forum me disse que não gostava de ANSI C, ou compiladores ANSI C, e só trabalhava com CCS.
Pois compiladores ANSI C, é o mesmo que dizer que esta programando em ASM de alto nivel. Pois aí que esta a beleza da coisa...
Ao invés de você dizer que XXXanalogs(off); tu vai lá no registrador setar os flags ou bits pra desligar.
mi mi mimimi....
Não, não é desperdicio fazer um sw para um 16f628 ou qualquer outro em C, depende muito do cabra que esta usando a linguagem e qual o raciocinio espacial dele.
Veja por exemplo o decoder do HT6P20 q eu postei aqui pros hobbystas... Eu tenho um sistema de alarme rodando num 16f628, utilizando aquele codigo, gravando na eeprom, comparando, cuidando das zonas, blablabla. utilizando apenas 1.315K...
Abraços
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!