significado pelicula language drama app assembly

assembly - pelicula - ¿Cómo empiezo a aprender Asamblea?



assembly significado (5)

Me gustaría jugar escribiendo un ensamblaje en mi Mac, idealmente nativo, pero entendería si es más fácil de aprender en QEMU o algo así.

Veo que hay diferentes dialectos de ensamblaje dependiendo del procesador: ¿qué dialecto es el "mejor" para aprender?

¿Realmente no tengo idea de dónde comenzar, ningún indicador sobre cómo ejecutar un programa en ensamblaje?


Aprendí MIPS y probé en SPIM para una clase sobre "organización de computadoras".

No estoy seguro de si este libro funcionará, pero podría valer la pena intentarlo. Utilizamos un "libro" (más como un tutorial y una hoja de trucos en realidad) escrito por el profesor, por lo que no está disponible.


Bueno, aunque no es lo que algunas personas llaman el "mejor" ensamblaje del mercado, recomendaría aprender X86 / X86-64 ya que es el más utilizado. Para ejecutar el programa, simplemente puede usar GCC para traducirlo en binario y luego ejecutarlo a través de su consola.



Involúcrese con las comunidades que prosperan en el código de ensamblaje. Lo primero que viene a la mente es el demoscene. Por un lado, echa un vistazo a las producciones lanzadas para Mac x86 en pouet.net . Intente ponerse en contacto con algunos de los programadores en los grupos activos. Algunos de ellos pueden estar dispuestos a compartir ideas y códigos y quizás incluso a motivarte a escribir el tuyo.

Así es como comencé en el pasado, pero en un Atari de 8 bits.


Mi sugerencia es actuar con el mejor productor de ensambladores: gcc.

Escriba programas simples en C y luego compílelos con el interruptor -S. Obtendrá un archivo.s que contiene el código del ensamblador. Tinker con él y lo aprenderás. La mejor parte es que si quieres aprender un ensamblador diferente, puedes compilar gcc como compilador cruzado y producir ensamblador para cualquier plataforma compatible.

Recuerde deshabilitar las optimizaciones con -O0, de lo contrario podría encontrar trucos extraños.

Esto es hola mundo en ensamblador.

.cstring LC0: .ascii "hello world!/0" .text .globl _main _main: pushl %ebp movl %esp, %ebp pushl %ebx subl $20, %esp call L3 "L00000000001$pb": L3: popl %ebx leal LC0-"L00000000001$pb"(%ebx), %eax movl %eax, (%esp) call L_puts$stub movl $0, %eax addl $20, %esp popl %ebx leave ret .section __IMPORT,__jump_table,symbol_stubs,self_modifying_code+pure_instructions,5 L_puts$stub: .indirect_symbol _puts hlt ; hlt ; hlt ; hlt ; hlt .subsections_via_symbols