Projeto de linguagem assembly pequeno para a prática [fechado]
8
Estou aprendendo linguagem assembly para arquitetura x86. Mas não consigo encontrar nenhum problema de prática para poder testar minhas habilidades. Você pode me sugerir alguns problemas de prática ou algum pequeno projeto de linguagem assembly para melhorar minhas habilidades?
Darn, ficou fechado durante a digitação ... Eu estava sugerindo que você re-implementar um subconjunto de libce UNIX ferramentas , como: strcpy, strcat, funções de conversão, como a strtoi/ itostr, strtol/ ltostr, uma mini printf, mini cat... deve ser suficiente para obter você começou e o restante da libc está à sua disposição para mais idéias de projetos.
haylem 6/07/12
Respostas:
8
Você pode se concentrar na otimização dos códigos de amostra existentes. Existem alguns bons recursos para procurar:
Quando eu estava estudando montagem na universidade, fazíamos pequenas aplicações o tempo todo. Tivemos tarefas como entrada, saída, diferentes somas e tipos (para usar loops), 'desenhar' algumas imagens, como círculos, com pontos, etc.
Também houve grandes projetos. O mais interessante é escrever um driver. Você pode pegar um dispositivo pequeno, como o mouse, e tentar implementar um driver para ele. Se você também adicionar alguns testes para descobrir, por exemplo, onde está o problema, caso algo esteja errado, isso seria uma ótima experiência. Escrever um driver corretamente requer um bom conhecimento do idioma, algumas pesquisas sobre o dispositivo e as portas e também partes de código para teste.
Este é um projeto que você não chamaria de pequeno, mas se você puder implementar tudo isso, certifique-se de conhecer a linguagem assembly!
Uma das primeiras coisas que fiz ao aprender / brincar com isso foi uma rotina cativante; depois, adicionei transparência e, eventualmente, sombras especificando cores que seriam transparentes ou uma sombra.
libc
e UNIX ferramentas , como:strcpy
,strcat
, funções de conversão, como astrtoi
/itostr
,strtol
/ltostr
, uma miniprintf
, minicat
... deve ser suficiente para obter você começou e o restante da libc está à sua disposição para mais idéias de projetos.Respostas:
Você pode se concentrar na otimização dos códigos de amostra existentes. Existem alguns bons recursos para procurar:
As tarefas mais interessantes e um pouco mais complexas podem ser a gravação de um driver compatível em dispositivos úteis para suas necessidades.
fonte
Quando eu estava estudando montagem na universidade, fazíamos pequenas aplicações o tempo todo. Tivemos tarefas como entrada, saída, diferentes somas e tipos (para usar loops), 'desenhar' algumas imagens, como círculos, com pontos, etc.
Também houve grandes projetos. O mais interessante é escrever um driver. Você pode pegar um dispositivo pequeno, como o mouse, e tentar implementar um driver para ele. Se você também adicionar alguns testes para descobrir, por exemplo, onde está o problema, caso algo esteja errado, isso seria uma ótima experiência. Escrever um driver corretamente requer um bom conhecimento do idioma, algumas pesquisas sobre o dispositivo e as portas e também partes de código para teste.
Este é um projeto que você não chamaria de pequeno, mas se você puder implementar tudo isso, certifique-se de conhecer a linguagem assembly!
fonte
Uma das primeiras coisas que fiz ao aprender / brincar com isso foi uma rotina cativante; depois, adicionei transparência e, eventualmente, sombras especificando cores que seriam transparentes ou uma sombra.
fonte