80186

Lothiem
19 de Noviembre del 2004
Hola a todos.
Llevo unos días buscando por internet algo que necesito, así que se me ocurrió postear para ver si alguien me echaba un cable.
Ando buscando la lista de instrucciones de los 80186. Tengo que programar sobre un Chip particular en C respetando las instrucciones del 80186, pero no sé exactamente en que forma me limita éso, si en cuestión de lista de instrucciones, en cuestión de variables... si alguien me puede aclarar el asunto lo agradeceré eternamente.

Un saludo y gracias de antemano.

Zeros Metalium
19 de Noviembre del 2004
En la pagina www.intel.com encontraras los manuales de los microprocesadores de intel, en concreto los X86. Baja el manual del esde el 8086 hasta e P4 pasando por el 186, 286, 386 4.. 5.. 6...etc.)
Lo unico que cambia el 186 con respecto al 8086 original es que incuye algunas instrucciones mas y hardware nuevo (pero esto no importa desde el punto de vista de la programacion... bueno no deveria importar si te dan las especificaciones del hardware)
El compilador de C deve tener alguna opcion donde se defina que genere codigo optimizado para 8086, 80186, 80286, 80386 y todos los que le siguen... Por ejemplo en el stack frame que se genera al entrar en las subrutinas tenemos en ASM solo para 8086 el codigo:
push bp
mov bp, sp
...subrrutina...
pop bp
ret
En cambio un 186 incorpora instrucciones que permiten hacer esto mas facil:
enter...
...codigo...
leave
ret
Y asi con un par de instrucciones mas, pero de eso se preocupa el compilador... A menos que tengas rutinas en ASM incrustadas en el codigo C. Si ese es el caso desinos que compiulador usas y que es en concreto lo que necesitas hacer...

Ha aclaro, un 186 tiene EXACTAMENTE el mismo juego de registros que un 8086, recien empieza a haber diferencias con los 286 y no son muchas...

Suerte.