Resulta que estoy trabajando en algo como esto, pero no estoy dispuesto a liberar nada de eso todavía. (al menos no públicamente)
Creo que usted necesita para editar/refinar su pregunta, sin embargo. Tomando un general puñalada en la pregunta. Me gustaría empezar con algo más sencillo que el de la ARM y x86, y evitar x86 todos juntos.
Tener un ensamblador libro implica que usted es un programador o tener algunos conocimientos de programación. No sé si tu pregunta es más desde el lado de la programación o de diseño digital de lado.
Si usted viene desde el programador lado, me gustaría empezar por aprender assembler para el msp430, y en el brazo o en el dedo pulgar (no meterse con x86, no es una buena arquitectura), tal vez PIC (mayores pic, no el dspic ni el pic32). A continuación, escribir un desensamblador y/o un conjunto de instrucciones simulador. si es sólo un dissassembler elegir un no-variable longitud de la palabra conjunto de instrucciones como el BRAZO o en el dedo pulgar (sí si usted piensa acerca de usted puede manejar esa rama de la instrucción) o el PIC. Finalmente escribir un conjunto de instrucciones simulador, al menos lo suficiente de implementar un puñado de instrucciones y una rama, hacer un bucle que ver que ejecutar. A continuación, ir a estudiar en máquinas de estado y de re-escribir el simulador el uso de máquinas de estado. Tengo un conjunto de instrucciones simulador, no necesariamente, completamente, de la máquina de estado, pero que podría dar la idea de lo que estoy hablando. búsqueda de thumbulator en github. Mi nombre de usuario es dwelch67 allí.
si usted se está acercando a este desde una perspectiva de la ingeniería eléctrica, es posible que desee buscar en opencores. La legibilidad y otras características de las hdl puede ser difícil, pero es que hay para ser consumido. verilator y icarus verilog son buenas verilog simuladores. Me gusta verilator más en parte porque es tan rígido con la verilog análisis y la segunda es super fácil de cruzar la C/C++ y HDL límite para la escritura de software para hablar con el hardware simulado, y otros reutilizables tipo de cosas. Hay una pequeña llama mcpu o algo así, que todo encaja sobre una página de papel impreso. Usted realmente tiene que envolver su cabeza en torno a cómo escribir un programa con sólo uno o dos operaciones reales (creo que sólo tiene un NI). Si usted es un ingeniero eléctrico y la necesidad de un curso intensivo en digital, los transistores son siempre saturado, básicamente se utilizan como eléctricamente controlado por interruptores. Tomar un par de ellos con algunos cables y otros componentes y usted puede hacer Y, y O puertas, agregar una inversión de transistor y hacer una puerta not permitiendo NAND y NOR. Usted quiere aprender acerca de las máquinas de estado si no ya sabes.
En general, usted necesita entender básicas de la lógica Y, O, NO, etc. Aprender acerca del estado de las máquinas que funcionan bien con el software o el hardware, el concepto es el mismo. Restablecer y rodando en realidad son parte del estado de la máquina de aprendizaje, obteniendo el estado de la máquina y pensar en términos de cada paso a través de la lógica/código es un ciclo de reloj en la cpu y las variables de estado se utilizan en cada paso para indicar qué hacer durante ese ciclo de reloj, ¿cuál es el estado actual, y según el estado actual y las entradas de lo que es el estado siguiente va a ser, etc.