leinad
11-06-2007, 18:20
pessoal, preciso de fazer um contador em assembly para aplicar a umas envenções que estou a tentar fazer por casa nos tempos livres, será que alguem me pode ajudar?
|
View Full Version : assembly leinad 11-06-2007, 18:20 pessoal, preciso de fazer um contador em assembly para aplicar a umas envenções que estou a tentar fazer por casa nos tempos livres, será que alguem me pode ajudar? anjo2 12-06-2007, 21:13 Que tipo de contador? Explica melhor heeven 13-06-2007, 13:47 pessoal, preciso de fazer um contador em assembly para aplicar a umas envenções que estou a tentar fazer por casa nos tempos livres, será que alguem me pode ajudar? realmente, que tipo de contador? se fores mais específico deve ser mais fácil ver se conseguimos ajudar :) leinad 13-06-2007, 18:21 int cont = 0; for (cont = 0; cont < 15; cont++){ printf("Cont %d", cont); } algo do género disto sá que em assembly.... HecKel 13-06-2007, 18:27 Deixa lá ver se ainda consigo fazer isto sem consultar nada :P mov eax, 15 for: código do ciclo for cmp eax, 0 je final dec eax jmp for final:Acho que dá..., de qualquer das formas consulta esta página: http://www.csee.umbc.edu/courses/undergraduate/CMSC313/spring04/burt_katz/lectures/Lect05/decisionMaking.html abraços, HecKel anjo2 13-06-2007, 18:36 Estou familiarizado com o p3, e seria assim (pelo que percebi é sempre a incrementar até 15, sem ser preciso passar 1 segundo) Inicio: MOV R1, 15 Ciclo: INC M[contador] CMP M[Contador], R1 BR.NZ Ciclo Fim: BR Fim Lossoth 13-06-2007, 23:40 Não testei por isso não sei se funciona, fiz agora assim de cabeça mas dá para teres uma ideia: .Prt: .string "Cont %d\n" irmovl $0, %eax .Ciclo push %eax push $.Prt call printf inc %eax cmpl $15, %eax je .Ciclo De qualquer maneira se precisares de ver como é que determinado codigo fica em assembly podes usar a opção -S do gcc (penso que é esta) ele vai criar um file qqcoisa.s com o codigo assembly. ex: gcc -S teste.c (isto cria o file teste.s em assembly) MadOnion 14-06-2007, 00:11 Acho que basta gcc file.s embora por vezes seja preciso fazer a linkagem com outras funções. depois é ./file |