2009-08-12 11 views
5

Me gustaría probar el ensamblaje de aprendizaje y posiblemente escribir mi propio ensamblador simple (recientemente leí un artículo interesante sobre cómo crear un sistema operativo y me di cuenta rápidamente de que una cierta familiaridad con el montaje me ayudaría mucho aquí).Cómo ejecutar el código de máquina (ensamblaje de aprendizaje)

El problema es que, aunque estoy seguro de que no tendré problemas para encontrar artículos y guías en lenguaje ensamblador/código máquina, tiendo a aprender haciendo, y me gustaría probar mi ejecución. código. Calculo que tengo dos opciones:

  • aprender cómo crear un ejecutable de Windows
  • utilizar algún tipo de máquina virtual/emulador

La segunda opción suena mejor para mí, ya que me protege de potencialmente cometiendo errores estúpidos, y probablemente se parecerá más al entorno en el que estaré mientras escribo un sistema operativo, pero no estoy muy seguro de cómo hacerlo.

+0

Cuidado para compartir ese artículo? –

Respuesta

4

Un gran lugar para aprender la programación de ensamblaje de Windows para x86 es legendario Iczelion's tutorials.

También puede encontrar herramientas MASM here

y si tiene la paciencia, #asm en EFNET

0

Comience con algunos tutoriales.

Mire FASM o MASM.

1

Usted no dice qué procesador le interesa, lo cual es de gran importancia. Sin embargo, suponiendo que la familia Intel x86, hay bastantes emuladores que le permitirán ejecutar su código de forma segura en su escritorio , como this. Google para el "emulador 8086" para más.

+0

Bueno, aún no había decidido, pensé que podría tener algún tipo de sistema integrado, pero pensé que no importa mucho en esta etapa, ya que me parece que las habilidades y los conceptos son bastante transferibles entre las archetectures. – Justin

+1

Conceptos básicos Sí, pero adquirir experiencia en una arquitectura en particular puede llevar bastante tiempo. Solía ​​ser un buen programador de Z80, pero aun así me llevó meses convertirme en un 6502 promedio. Y las arquitecturas modernas son mucho más complejas que esas dos. –

2

recomiendo que aprenda un montaje de RISC en lugar de CISC; tendrá menos instrucciones para aprender y puede practicar la construcción de más construcciones de alto nivel. Aprendí por primera vez el ensamblado de MIPS porque tiene un gran emulador gratuito (SPIM) y un libro de texto, del que desafortunadamente me olvidé el nombre, pero tenía una encuadernación tejida de la vieja escuela y era de color crema.

+0

Tomé una clase que enseñaba el ensamblador MIPS y usé SPIM. Me recordó mucho a Applesoft Basic (si/then/else, goto, gosub, matemáticas básicas). – crashmstr

4

Es posible que desee leer este fantástico: book

+0

Ojalá pudiera dar cada endoso de este libro mucho más que un +1 – Dinah

Cuestiones relacionadas