
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.