Adicionem o novo domínio do blog aos seus favoritos! www.crashcomputer.com.br

   sexta-feira, 15 de outubro de 2004

Escovação de bits.



1 Star2 Stars3 Stars4 Stars5 Stars (Nenhum voto, seja o primeiro!)
Loading...

Como o tempo, o hábito e prática faz a gente executar uma tarefa de formas diferentes e quase sempre mais eficientes para obter o mesmo objetivo, né?

Estava hoje a tarde programando algumas partes inacabadas de um software para um PIC (é um microcontrolador, para quem não conhece). Este código foi “reaproveitado” de uma placa antiga de fabricação minha (RC700B) e esta sendo editado para esta nova placa (Hamtec 3000).

O PIC tem uma boa semelhança com o MSX, sua memória de programa é paginada, ao menos no modelo que estou programando, são páginas de 2Kb. Como o espaço na primeira página já estava meio no “grito” e eu precisa livrar alguns bytes, resolvi mover algumas rotinas que tem pouco uso para uma das páginas mais altas, na página 3 pra ser mais exato. A rotina que movi não faz nada muito complexo, apenas reescreve o valor de umas 40 variaveis na e2prom, com o valor padrão. Isso é usado apenas no caso de um “Master Reset” o que é muito raro de se usar.

Mas mesmo assim o espaço que livrou não era o que eu precisava, e então comecei a dar uma olhada no código, principalmente na parte mais velha.

Quando cheguei em algumas rotinas que devem ter por baixo uns 3 ou 4 anos, comecei a rir sozinho não acreditava que eu mesmo tinha escrito aquilo. Resolvi “apagar” (na verdade recortei e colei no bloco de notas) e em menos de 2 minutos escrevi uma rotina nova, que dá exatamente o mesmo resultado, é mais rápida e além de tudo menor!

Agora eu fico pensando o quanto eu posso economizar de memória se resolvesse reescrever todos esses 2Kb da primeira página, deve ter cada “barrigada” ali que eu nem imagino!

Só não faço isso porque 2Kb em assembly é coisa pra caramba!

[ Ouvindo: Titãs – Comida ]
Geral |


Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

 

:D :tooth: :mrgreen: :-P :-)) (lol) .:lol:. o:-) 8-) :-$ :-| }:D :-/ -_- |-/ :X.: =X 8|( :xxx :furious: :-o* X-P 8x :censored: *~O more »


1) Os comentários são moderados.
2) Comentários que não sejam referentes ao assunto do post serão excluídos.
3) Eu posso editar seu comentário antes de publicar, se o achar necessário.
  Melhor visualizado a
1024 x 768 True color
Proudly powered by WordPress. Theme developed with WordPress Theme Generator.
E altamente gambiarrado por mim mesmo :)
Copyright © 2010 by Crash Computer. All rights reserved.