Como fazer uma soma com 24 ou 32 bits?

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Mensagempor msamsoniuk » 10 Dez 2010 12:28

cuidado! :D

colocar "asm" e "confiavel" na mesma frase pode ser considerado perjurio em diversos paises! conceitualmente eh facil: codigo asm eh codigo espaguete e nao possui nenhuma estruturacao ou abstracao, entao deve ser evitado a todo custo, pq eh sinonimo de "xaxixo".

eu nao conheco nada da area medica, mas na area militar e aeroespacial os codigos sao gigantescos e complexos. e nao eh de hoje, tem codigo muito antigo que foi crescendo e em alguns casos vc nem tem opcao, pq em muitos casos o contratante obriga que o codigo seja em uma linguagem especifica (o DoD, por exemplo, exigia que tudo fosse feito em ADA). soh conheco exemplos de asm em aplicacoes aeroespaciais datando da decada de 60 pq existem satelites que estao operando faz 30 anos e cuja construcao comecou 40 anos atras! mas projetos da decada de 80 jah sao com codigo estruturado e provavelmente projetos modernos utilizam fortemente OOP.

mesmo no caso de uma central telefonica, que eh um exemplo de algo muito mais simples, seria piada falar em asm: o codigo de layer 1 e layer 2 pode chegar a 200 mil linhas de codigo e o codigo de layer 3 pode ter milhoes de linhas de codigo.

e eh um fato: codigo de alto nivel eh mais limpo e claro para debugar. e a medida que o tamanho aumenta, essa diferenca se torna cada vez maior. entao asm ateh serviria para codigos pequenos, mas mesmo assim, alguma chance de debugar esse codigo pequeno de powerpc no olho?

Código: Selecionar todos
.data            

output:
    .ascii  "\n Fibonacci number is:  \0"
    len = .- output      

.text            

    .globl _fibonacci
_fibonacci:
        li      r3, 14   
        li      r7, 1      
        li      r8, 1      
   
fib_loop:
        add     r11, r7, r8   
        mr      r7, r8      
        mr      r8, r11      
        subi    r3, r3, 1       
        cmpwi   r3, 0         
        bgt     fib_loop   
   li      r0, 4      
   li      r3, 1      
   lis     r4, ha16(output)
   addi    r4, r4, lo16(output)
   li      r5, len      
   sc         
   xor.    r3, r3, r3     
   mr      r3, r11
    blr            


nao dah neh, fala serio!

para quem argumenta que "simples eh melhor", eu diria que ao inves de usar um codigo asm simples seria mais facil usar uma FPGA, CPLD ou mesmo com logica discreta, evitando assim problemas de performance, sofrimento, choradeira e bugs! :)

lellis escreveu:ok vt ...desejo-te sucessos... é verdade!
um argumento que não apresentou é que numa aplicação em que não pode haver bugs - médica, militar, aero - o asm tende a ser muito + confiável e quase obrigatório. já tive contato com as duas. Mas em geral...


...
amigo desespereira, voce pode chegar perto da máquina, mas tão perto que vai ter que colar seu rosto nela e não descola [e não decola] mais. se voce for se casar com o pic até que a morte os separe, até que poderia criar alguns filhos com o asm como padrinho. neste caso nada de adultério com outros MC´s pois seu marido é ciumentíssimo e não permite que voce use as mesmas palavras aos concorrentes. caso voce ache um parceiro melhor, ele vai ser extrangeiro e vai demorar um pouco pra voce aprender sua língua e conquistá-lo. agora se voce não for muito fiel e gosta de uma suruba, uma das saídas é o seu c. com ele voce pode trair seu parceiro (pic) usando as mesmas palavras com seus amantes. em outras palavras, todos seus amantes vão gostar do seu c.
com relação a otimização do codigo, não esquenta. 1º os compiladores (htech.p.ex.) estão tão bem otimizados que o cod gerado fica=asm. 2º os mc´s tem cada vez + memória e cada vez menos caros. p.ex. um arm lpc 32 bits faz muito mais por muito menos que um pic equivalente. (voce pode usar [quase] o mesmo fonte em c pro arm e pic e etc, lembra?)

bom no momento só tenho estes argumentos.

ah e vatomanocuidado com o nervosim. ouvi dizer que ele quase empatou com chuck norris numa disputa pra ver quem apresenta um melhor argumento com relação a qualquer coisa. rs
amiguim, releia e reflita mt5:5

sucessos a todos.
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor vtrx » 10 Dez 2010 18:58

Só um detalhe que para bom entendedor ja basta.
Quado voce programa algo de confiança,voce deve confiar em quem?
Em voce ou em terceiros?
Em ASM ,o resultado final depende exclusivamente da máquina e voce,ja em linguagens tipo C e principalmente em mini sistemas,voce vai depender do autor do compilador e não terá como alterar isso,terá que ficar de quatro ao compilador e suas limitações.
Por isso ninguem se entende em qual compilador usar,CCs,MikroC etc.Pode reparar que sempre alguem acha defeito ou 'fala mal' sobre esses compiladores,ou pior,não tem um padrão de compilador,ficam sempre procurando uma 'solução' melhor...
Agora falar de tamanho de código é coisa de tupiniquim mesmo.
Ja pensaram se Bill Gates tivesse desistido de fazer sistema operacional só porque o código em ASM é grande??
PS:Enquanto procuram uma solução de compilador,eu ja estou com 301k de código otimizado ,LOL.
Ah,ja ia esquecendo;
mesmo no caso de uma central telefonica, que eh um exemplo de algo muito mais simples, seria piada falar em asm: o codigo de layer 1 e layer 2 pode chegar a 200 mil linhas de codigo e o codigo de layer 3 pode ter milhoes de linhas de codigo.

Não confunda programação de solução em microsistemas com sistema operacional dedicado,o qual se usa bastante Java.
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Mensagempor jorgeluiz » 11 Dez 2010 00:46

e' isso ai'. ASM e' a linguagem nativa dos pics. Voce pode ate' usar "tradutores", mas para nao ter mal entendidos, tem que conversar com o bicho no seu dialeto proprio. Coisa pra macho! (e tenho dito! Huahuahua)
Avatar do usuário
jorgeluiz
Byte
 
Mensagens: 448
Registrado em: 26 Mar 2007 02:26

Mensagempor msamsoniuk » 11 Dez 2010 03:15

possivelmente vc esta corretissimo em suas observacoes, porem vale a pena fazer alguns comentarios que acho validos para quem esta comecando agora nessa area! :)

vtrx escreveu:Quando voce programa algo de confiança, voce deve confiar em quem?
Em voce ou em terceiros?


para meio entendedor, uma palavra basta: equipe!

eu jah pensei diferente no passado, mas hoje em dia eu nao acredito em projetos de um homem soh. e francamente, acho que a humanidade nao iria muito longe se todos trabalhassem individualmente. um bom exemplo foi a apollo 11, que soh chegou na lua gracas ao trabalho em equipe de 400 mil pessoas que faziam parte do projeto apollo na epoca.

saber confiar em terceiros faz a diferenca entre ficar no chao e ir a lua.

Em ASM ,o resultado final depende exclusivamente da máquina e voce,ja em linguagens tipo C e principalmente em mini sistemas,voce vai depender do autor do compilador e não terá como alterar isso,terá que ficar de quatro ao compilador e suas limitações.


para meio entendedor, uma palavra basta: responsabilidade.

novamente, jah pensei diferente no passado, mas hoje em dia eu nao acredito que um ser humano faca um trabalho melhor que uma maquina e pensar o contrario eh pura irresponsabilidade. eh fato que as maquinas fazem o que foram programadas, mas acho muito mais dificil encontrar um bug em um compilador onde tem milhares de pessoas revisando do que encontrar um bug em um codigo que alguem escreveu.

sem falar que hoje em dia qq compilador eh escrito em linguagem de alto nivel, muito mais facil de revisar e encontrar bugs.

mas se vc nao confia em um compilador, pq diabos vc confiaria em um sintetizador entao? para sua informacao, praticamente todos os processadores modernos sao escritos em verilog, uma linguagem de descricao de hardware similar a C, cuja sintese eh extremamente confiavel.

se fosse colocar minha vida nas maos de alguem, colocaria nas maos do sintetizador e compilador, nao do programador individualista que acha que asm eh a melhor coisa do mundo. e nem tem como fugir disso, pq vc faz isso toda vez que anda de aviao, pois ele esta forrado de chips e programas escritos em linguagens de alto nivel.

Por isso ninguem se entende em qual compilador usar,CCs,MikroC etc.Pode reparar que sempre alguem acha defeito ou 'fala mal' sobre esses compiladores,ou pior,não tem um padrão de compilador,ficam sempre procurando uma 'solução' melhor...


o engracado que jah usei dezenas de diferentes compiladores C para 68k e nunca tive divergencias ou problemas. sera que no PIC os problemas sao os compiladores, o processador ou os usuarios?

eh fato que o 68k eh um processador projetado para linguagens de alto nivel, como C e pascal. o numero de instrucoes asm eh da ordem de 50, enquanto que o numero real de instrucoes "codificaveis" eh da ordem de umas 30 mil (na sua vida inteira vc nao vai conseguir codificar todas as instrucoes possiveis!). o PIC, em contraste, nao tem suporte para linguagens de alto nivel e possui poucas instrucoes.

entao talvez realmente o problema seja o processador, o que nao justifica vc afirmar que eh melhor do que eu pq vc programa em asm e eu programo em C, pois com o PIC nao se vai a lua e nao se coloca avioes no ar.

Agora falar de tamanho de código é coisa de tupiniquim mesmo.
Ja pensaram se Bill Gates tivesse desistido de fazer sistema operacional só porque o código em ASM é grande??


bill gates nunca escreveu sistemas operacionais, ele jah comprou o msdos pronto. mas considerem que o msdos soh deixou de ser um inutil brinquedo de criancas a partir da versao 3.3, quando foi reescrito em C e herdou estruturas de alto nivel do unix, pois as versoes anteriores escritas em asm nao suportavam sequer pipes ou diretorios... pense nisso! :)

PS:Enquanto procuram uma solução de compilador,eu ja estou com 301k de código otimizado ,LOL.


301k de codigo asm otimizado no PIC? pq se for fora do PIC vc nao precisa procurar compilador pq tem gcc para praticamente qq plataforma que valha a pena! poutz, pisei no PIC agora neh? foi sem querer (nao tem gcc para PIC).

Ah,ja ia esquecendo;
mesmo no caso de uma central telefonica, que eh um exemplo de algo muito mais simples, seria piada falar em asm: o codigo de layer 1 e layer 2 pode chegar a 200 mil linhas de codigo e o codigo de layer 3 pode ter milhoes de linhas de codigo.

Não confunda programação de solução em microsistemas com sistema operacional dedicado,o qual se usa bastante Java.


e quem falou em java?!? voce quem esta confundindo! hehehe

eu ainda estou falando em microcontroladores... desculpa ae se no mundo real as memorias estao ficando gigantescas em comparacao ao PIC. francamente, nao dah para pensar em 200 mil linhas de codigo realtime com execucao concorrente escrito em asm, por mais que o asm do 68k seja maravilhosamente de alto nivel! :)
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor Guri » 11 Dez 2010 10:19

Meus amigos eu não queria entrar no mérito, mesmo porque sou o mais "burrinho" da turma e estou aprendendo.

Olha só caro Marcelo: Falar em programação de pics para uso comum e compiladores baratos (que mesmo bugs e isso é perfeitamente comprensivel dado ao fato do preço, e eu nem colocaria como bugs e sim como "falha" em atuar sobre determinadas situações as quais o compilador não foi bem instruido para isso).

Então, comprar sistemas relativamente simples que usam memórias pequenas de pograma como 1k 8k ou até mesmo 256k usualmente com MCUS de 8bits x sistemas operacionais para controlar satelites e compiladores que partem da casa dos 10 mil reais no mínimo e o pior com tempo de limatação de uso. Se muitos iniciantes não sabem muitos ou quase todos os compiladores comerciais de grande porte possuem tempo de validade, sem falar nos módulos que você terá que fazer na unha ou compra-los a parte, cito os compiladores para PC.

Então, sejamos concientes, nós estamos falando de pic de 8bits e o mais indicado é mesmo o ASM, C pode até ser utilizado em alguns casos na minha opnião onde seja solicitado uma comunicação com menus por exemplo com o usuário...coisa que até em asm se faz sem problemas.

O como o VTRX disse, o bom programador, cria suas proprias LIBs e as utiliza.

Vocês que já programam a muito tempo e sabem o que estou dizendo, já repararam que um programa bem estruturado em ASM possui inumeras bibliotecas dedicadas (INCLUDES)? Já perceberam quando programamos desta forma os programas tanto em C quanto em ASM possuem uma aparencia muito semelhante....

Eu imagino que tudo seja ponto de vista e comodidade de quem irá se decidir por uma ou outra linguagem...

Discutir sobre acender um led e como enviar satelites para o espaço com base em que compilador utilizar é pura ilusão.

Imaginem se os fabricantes e projetistas de chips fossem ficar se debatendo sobre qual sistema utilizar para produzir chips, seria uma doidura só....

Afinal de contas os chips são elaborados com base em manipulação pelo ASM, ou não é?

Seja LPC do garoto prodígio propaganda fabinzinho, do sistema ARM, Texas, Microchip, não importa se 8,16,32 ou n bits....todos tem sua palavra nativa em ASM...

Vejam só que curioso, toda essa discução começou com uma resposta "ESDRUXOLA" do garotinho proganda do LPC e forte preconceituoso dos pics, aliás nem sei porque ele ainda dá palpites (diga-se de passagem furados, leiam os posts do menino no forum) sobre pics, se ele mesmo diz não gostar.

vamos voltar ao foco.

Marcelo por favor, como seria uma solução em C para rodar no compilador htec por exemplo da seguinte situação:

formula de SOMA em 32 bits
formula de DIVISÂO em 32 bits

Fico muito agradecido a todos (mesmo aos que projetistas Cenianos fanaticos).
Guri
Byte
 
Mensagens: 457
Registrado em: 25 Abr 2010 09:05
Localização: Minas Gerais

Mensagempor msamsoniuk » 11 Dez 2010 14:51

infelizmente eu nao tenho esse compilador htec que vc tem por aih, pois nao tenho dinheiro para jogar fora com algo que eu nao uso. o que eu tenho aqui eh o sdcc, que nao custa nada e nao tem limitacoes como os compiladores que vc citou.

mas eu tambem nao manjo de PIC e o compilador pediu algumas coisas que eu nao sei para que servem, testei compilar para o HC08, Z80 e 8051. note que o sdcc compila para varias plataformas, inclusive PIC, portanto acredito que nao deve fazer muita diferenca. o codigo que usei foi:

Código: Selecionar todos
int main()
{
  volatile long a, b, c, d;;

  a=1000000;
  b=1000000;
  c=2;

  d=a+b*c;

  return 0;
}


note que nao tem truques aqui: simplesmente declarei como long e compilei para tres diferentes processadores de 8-bits. este compilador suporta diretamente operacoes com inteiros de 16 e 32 bits, alem de float de 32 bits.

eu soh tive que usar volatile pq o sdcc insistia em otimizar meu codigo. primeiro ele foi espertao e removeu todo ele, afinao eu faco a conta e nao uso o resultado. eu tentei passar o resultado por uma funcao, mas ele foi espertao novamente e pre-caculou o resultado 4000000. colocando volatile, ele assume que a variavel possivelmente eh parte de algum periferico e entao se obriga a fazer a conta.

o resultado em termos de memoria foi:

Código: Selecionar todos
Direct Internal RAM:
   Name             Start    End      Size     Max     
   ---------------- -------- -------- -------- --------
   REG_BANK_0       0x00                  0        0   
   REG_BANK_1       0x00                  0        0   
   REG_BANK_2       0x00                  0        0   
   REG_BANK_3       0x00                  0        0   
   BSEG_BYTES       0x00                  0        0   
   DATA             0x80     0x8e        15      256   
   ---------------- -------- -------- -------- --------
   TOTAL:           0x00     0x8e        15      256   

Stack starts at: 0xff (sp set to 0xfe)
Other memory:
   Name             Start    End      Size     Max     
   ---------------- -------- -------- -------- --------
   INDIRECT RAM     0xff                  0        0   
   EXTERNAL RAM     0x0086   0x00a1      28    65536   
   ROM/EPROM/FLASH  0x8000   0x821c     541    65536   


ou seja, 541 bytes de codigo no HC08. compilado para Z80 ficou o mesmo tamanho e no 8051 ficou bem menor, com 305 bytes de codigo. sim, ficou bem grande, mas o que vc espera de processadores de 8 bits que nao sabem fazer multiplicacao diretamente? e se for pensar que eu nao gastei um segundo para fazer isso, a solucao ateh que saiu bem em conta! :)

mas eh possivel usar um algoritmo mais eficiente em termos de tamanho:

Código: Selecionar todos
int main()
{
  volatile long a, b, c, d;

  a=1000000;
  b=1000000;
  c=2;
  d=0;

  for(d=0;a;a>>=1,b<<=1)
  {
    if(a&1)
    {
      d += b;
    }
  }

  return 0;
}


eh um algoritmo de aproximacao sucessiva e possivelmente eh menos eficiente em termos de execucao. em essencia, ele varre o primeiro valor bit a bit. se o bit eh valido, entao ele acumula o segundo valor no resultado. entao ele shifta o primeiro e o segundo para direcoes diferentes e repete ateh que o primeiro valor seja zero. eu nem testei o codigo, mas a ideia seria mais ou menos essa.

com isso o consumo de memoria caiu para 254 bytes de codigo:

Código: Selecionar todos
Direct Internal RAM:
   Name             Start    End      Size     Max     
   ---------------- -------- -------- -------- --------
   REG_BANK_0       0x00                  0        0   
   REG_BANK_1       0x00                  0        0   
   REG_BANK_2       0x00                  0        0   
   REG_BANK_3       0x00                  0        0   
   BSEG_BYTES       0x00                  0        0   
   DATA             0x80                  0      256   
   ---------------- -------- -------- -------- --------
   TOTAL:           0x00                  0      256   

Stack starts at: 0xff (sp set to 0xfe)
Other memory:
   Name             Start    End      Size     Max     
   ---------------- -------- -------- -------- --------
   INDIRECT RAM     0xff                  0        0   
   EXTERNAL RAM     0x0080   0x008f      16    65536   
   ROM/EPROM/FLASH  0x8000   0x80fd     254    65536   


sobre suas outras observacoes em relacao a asm vs C, nao vou perder meu tempo discutindo.

Guri escreveu:Meus amigos eu não queria entrar no mérito, mesmo porque sou o mais "burrinho" da turma e estou aprendendo.

Olha só caro Marcelo: Falar em programação de pics para uso comum e compiladores baratos (que mesmo bugs e isso é perfeitamente comprensivel dado ao fato do preço, e eu nem colocaria como bugs e sim como "falha" em atuar sobre determinadas situações as quais o compilador não foi bem instruido para isso).

Então, comprar sistemas relativamente simples que usam memórias pequenas de pograma como 1k 8k ou até mesmo 256k usualmente com MCUS de 8bits x sistemas operacionais para controlar satelites e compiladores que partem da casa dos 10 mil reais no mínimo e o pior com tempo de limatação de uso. Se muitos iniciantes não sabem muitos ou quase todos os compiladores comerciais de grande porte possuem tempo de validade, sem falar nos módulos que você terá que fazer na unha ou compra-los a parte, cito os compiladores para PC.

Então, sejamos concientes, nós estamos falando de pic de 8bits e o mais indicado é mesmo o ASM, C pode até ser utilizado em alguns casos na minha opnião onde seja solicitado uma comunicação com menus por exemplo com o usuário...coisa que até em asm se faz sem problemas.

O como o VTRX disse, o bom programador, cria suas proprias LIBs e as utiliza.

Vocês que já programam a muito tempo e sabem o que estou dizendo, já repararam que um programa bem estruturado em ASM possui inumeras bibliotecas dedicadas (INCLUDES)? Já perceberam quando programamos desta forma os programas tanto em C quanto em ASM possuem uma aparencia muito semelhante....

Eu imagino que tudo seja ponto de vista e comodidade de quem irá se decidir por uma ou outra linguagem...

Discutir sobre acender um led e como enviar satelites para o espaço com base em que compilador utilizar é pura ilusão.

Imaginem se os fabricantes e projetistas de chips fossem ficar se debatendo sobre qual sistema utilizar para produzir chips, seria uma doidura só....

Afinal de contas os chips são elaborados com base em manipulação pelo ASM, ou não é?

Seja LPC do garoto prodígio propaganda fabinzinho, do sistema ARM, Texas, Microchip, não importa se 8,16,32 ou n bits....todos tem sua palavra nativa em ASM...

Vejam só que curioso, toda essa discução começou com uma resposta "ESDRUXOLA" do garotinho proganda do LPC e forte preconceituoso dos pics, aliás nem sei porque ele ainda dá palpites (diga-se de passagem furados, leiam os posts do menino no forum) sobre pics, se ele mesmo diz não gostar.

vamos voltar ao foco.

Marcelo por favor, como seria uma solução em C para rodar no compilador htec por exemplo da seguinte situação:

formula de SOMA em 32 bits
formula de DIVISÂO em 32 bits

Fico muito agradecido a todos (mesmo aos que projetistas Cenianos fanaticos).
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor Djalma Toledo Rodrigues » 11 Dez 2010 15:29

Marcelo Samsoniuk escreveu:entao somar ffh com ffh eh uma questao de feh e de encontrar o carry! ;)

Não entendi ou não peguei o espirito da coisa.

Sei que o µC PIC possui a instrução Add f,d e que possui Carry

DJ
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Mensagempor msamsoniuk » 11 Dez 2010 15:41

FFH + FFH = FEH + carry e fé = FEH se o teclado nao tiver acentuacao!

Djalma Toledo Rodrigues escreveu:
Marcelo Samsoniuk escreveu:entao somar ffh com ffh eh uma questao de feh e de encontrar o carry! ;)

Não entendi ou não peguei o espirito da coisa.

Sei que o µC PIC possui a instrução Add f,d e que possui Carry

DJ
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor guest2003 » 11 Dez 2010 17:01

Que coisa, é só deixar de entrar num post pra ler que o negocio vira caos.

Vi que este thread estava ficando grande e resolvi dar uma olhada no que estava rolando, ai adivinha né.

Todas as mesmas figuras premiadas no mesmo post ! reunidas.

[]'s

PS: Cada processador ou linguagem tem o seu melhor em casos especificos, entao nao adianta ficar nessas brigas sem sentido e infindaveis.

PS2: Daria pra criar desafios em que o vencedor seria claramente este ou aquele processador, se colocassemos alguns requisitos, como preço, disponibilidade, questoes tecnicas, etc etc, entao volto a dizer, nao faz sentido essas brigas.
http://www.sethi.com.br (Institucional)
http://www.sethi3d.com.br (Impressoras 3d)
http://www.sethi.com.br/blog (Blog Impressoras 3d)
Avatar do usuário
guest2003
Word
 
Mensagens: 746
Registrado em: 13 Out 2006 11:48
Localização: Campinas - SP

Mensagempor vtrx » 11 Dez 2010 17:55

"...nunca use GOTO em C,ele ainda não está preparado para ir além..."
Editado pela última vez por vtrx em 12 Dez 2010 17:55, em um total de 2 vezes.
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Mensagempor jeanfernandes » 11 Dez 2010 21:41

Eu só vou dizer uma coisa:
A good C programmer can write C programs in any language.

Há mundos e mundos, posso confessar só uma coisinha....
No dia em que vocês conhecerem os dois santos : Santo Fork, e Santo Respawn, vao mudar um pouco na hora de resolver problemas complexos.

Sim, eu confio nas coisas que outros fizeram. Tudo depende da minha máquina de estados. Se ela tem falhas, não eh PIC, ARM, C, ASM ou a linguagem dos surdos mudos que irá resolver o problema.

Depois de 15 anos trabalhando com C, confesso que tenho muito o que aprender ainda. Mas confio nas ferramentas, nos codigos gerados, pois a incidencia de bugs x a estruturacao do codigo que executa a maquina de estados, é que define em que velocidade eu vou resolver o problema.

Sobre o cara que trabalha com audio e tals: Nao tenho menor ideia do que voce faz, de quanto custa, mas eu daria uma olhada basica num pseudo DSP da analog devices chamado AD1940. Uma delicia. Se couber uma revisao de projeto dentro do que ele pode fazer, da um sossego no ASM, e joga todo o processamento no carinha...com drag and drops.

Se é pra evoluir, antes é bom pensar evoluir a mentalidade, deixar a arrogancia de lado, e tentar ajudar. Acho que é para isso que estamos aqui. Ficar medindo forças pelo conhecimento não vai ajudar a encontrar a solução dos problemas.

Prefiro mil vezes um cara que para e dá um link no google, ou uma ajudinha na hora de achar uma solução, do que essa discussão meio que inutil. Dai sobra tempo para falar das viagens pessoais la no boteco.

Só uma coisa importante : nao esqueça que um dia você foi daqueles que ficou maravilhado quando conseguiu fazer um led piscar num mcu. Perder a humildade e fechar portas para quem quer caminhar nessa "profissao" de resolvedor de problemas, é no mínimo uma falta de bom senso.

Argumentar sem conhecimento amplo e profundo, é uma faca de dois gumes. Você pode encontrar um Sam pelo meio do caminho. Vale a pena focar nos problemas e possivelmente ver em que caminhos possam trilhar.

Não tem coisa mais gratificante que ajudar alguem, por mais que seja "idiota" a duvida. É para isso que estamos aqui. Eu ainda acredito nisso.
Jean P. Fernandes - Eng. Eletrônico - (83) 2102-2116 - APEL - www.apel.com.br - Campina Grande - PB
jeanfernandes
Word
 
Mensagens: 539
Registrado em: 11 Out 2006 15:36
Localização: Campina Grande - PB

Mensagempor Jozias del Rios » 11 Dez 2010 21:42

lembrando que skpnc = btfsc STATUS, C
Os vencedores são aqueles que sabem o que fazer se perderem.
Os perdedores são aqueles que não sabem o que fazer se ganharem.
Avatar do usuário
Jozias del Rios
Byte
 
Mensagens: 279
Registrado em: 31 Out 2009 03:36
Localização: SJCampos-SP

Mensagempor jorgeluiz » 12 Dez 2010 00:33

tem muitas coisas em ASM nesse site, operaçoes basicas, complexas, binario, bcd, decimal, sortido e variado:
http://www.piclist.com/techref/microchip/math/index.htm
.
Sobre a discussao, comum em tudo quanto e' forum de mcs, so' tenho que dizer uma coisa: pro chip, o que interessa nao e' o codigo .HEX ? Entao que adianta saber se foi feito em codigo espaguete, com ou sem "xaxixo", elegante ou deselegante, masoquistamente ou sadicamente? Se 10 caras competentes, que programam usando 10 linguagens diferentes, o Checksum nao tem que bater pelo menos teoricamente? Ora bolas!
Avatar do usuário
jorgeluiz
Byte
 
Mensagens: 448
Registrado em: 26 Mar 2007 02:26

Mensagempor Renie » 12 Dez 2010 00:54

Joca!!!

Estou orgulhoso por você e um pouco por mim!!!

esta passagem do seu post diz tudo!

jeanfernandes escreveu:...
Não tem coisa mais gratificante que ajudar alguem, por mais que seja "idiota" a duvida. É para isso que estamos aqui. Eu ainda acredito nisso.


Acho que conseguí passar meu recado no tempo que fui ativo nesta
casa e paralelamente on-line com os amigos que fiz aqui!

Ainda presente,
[]'s
Renie

Um Felliz Natal e um 2011 repleto de realizações para todos!

[]'s, Renie
Renie
Word
 
Mensagens: 732
Registrado em: 11 Out 2006 22:35
Localização: RJ - Niterói - Brasil

Anterior

Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x