Está en la página 1de 12

Informe

Juego Caníbales y Misioneros

Andres Felipe Romo Cod: 0817056


Jhon Alejandro Sanchez Cod: ⁠0817060

Profesor:
Jorge Hernán Estrada
Asignatura:
Introducción a la Ingeniería Electrónica

Universidad Nacional De Colombia - Sede Manizales


Ingeniería Electrónica
Manizales Caldas
04/05/2017
INTRODUCCIÓN

Con el paso del tiempo, los microprocesadores se han convertido en un elemento


fundamental de la tecnología actual, estando presentes desde celulares de muy baja gama,
hasta los más complejos computadores, terminales y demás dispositivos electrónicos, es por
esto que analizar y usar uno de los primeros microprocesadores ayudará a entender aún
mejor su funcionamiento.
OBJETIVOS
- Conocer el funcionamiento de un microprocesador.
- Aprender la funcionalidad de uno de los primeros microprocesadores de la historia,
su programación y la utilidad que puede alcanzar
- Mediante la creación y solución de un juego, lograr reconocer algunos comandos
del emulador del microprocesador.
- Aprender el lenguaje de máquina y la consecuente programación.
MICROPROCESADOR
Motorola 6800
El Motorola MC6800 (6800) es un microprocesador fabricado por Motorola que fue
lanzado al mercado en 1975, poco después del Intel 8080. El nombre le viene de contener
aproximadamente 6800 transistores.

Su conjunto de instrucciones está formado por 78 de estas y posiblemente es el primer


microprocesador que contó con un registro índice.

El 6800 normalmente se fabricaba en un encapsulado DIP de 40 pines. Necesita un reloj de


dos fases y una alimentación única de 5V, en contraste con el 8080 de Intel, que necesitaba
tres tensiones.

Varios de los primeros microordenadores de los años 1970, que usualmente eran vendidos
por correo -en piezas sueltas o ensamblados-, usaron el 6800 como procesador principal.
Entre ellos se encuentran el SWTPC 6800 (el primero en usarlo) y el MITS Altair 680.

Fue sustituido por el MC6802, que añade al MC6800 un generador de reloj, con lo que le
basta un reloj de una fase, compatible TTL, y una memoria de 128 bytes, 32 de los cuales
son "retenibles" mediante una tensión de 3V aplicada a una patilla destinada a tal fin.

Partiendo del 6800 se crearon varios procesadores derivados, siendo uno de los más
potentes el Motorola 6809, que fue usado en el sistema de videojuego Vectrex y en el
ordenador Tandy TRS-80, entre otros. También se han producido varios
microcontroladores basados en el 6800, como el Motorola 6805, 6807, 6808, 68HC11 y el
68HC12.

La empresa competidora MOS Technology, que contrató a los empleados que diseñaron el
6800 cuando estos dejaron Motorola, también fabricó procesadores basados en la
tecnología del Motorola 6800. Entre estos se encuentran los MOS Technology 6501 y
6502, que fueron usados en muchos sistemas de videojuegos y ordenadores de finales de
los años 1970, como el Apple II, Atari 2600 y los Commodore PET, VIC-20 y C64.
Emulador

6800IDE es un software basado en Windows IDE para el procesador 6800/6811 de


Motorola. Diseñado para fines educativos, incluye un ensamblador y un emulador para el
6800/6811 con soporte de depuración incorporado, tales como puntos de interrupción del
usuario, rastreo de ejecución, visualización de registro interno y un convertidor de número
Hex / Bin / Dec.

Para la realización del código del juego, se hizo necesario 3 comandos básicos:

1. Lda_
Este comando se encarga de cargar el acumulador, el cual puede ser a o b y lo
asignamos en (_).

2. Sta_
Este comando guarda lo que hay en el acumulador y lo asigna a la ubicación que le
asignemos. En (_) declaramos el acumulador en uso y posteriormente se especifica
la nueva ubicación de la memoria.

3. Clr
Este comando se encarga de eliminar el valor de la memoria que le indiquemos.

Hay que destacar, que, al ser un microprocesador antiguo, posee diferentes complicaciones
a la hora de procesar las ordenes, y el lenguaje que maneja es único y exclusivo para el
procesador.
PROCEDIMIENTO

1) Primeramente, declaramos los misioneros, en este caso los cargamos


con el comando lda y los ubicamos en el acumulador a.
Continuamente enviamos a cada uno a posiciones inferiores de la
memoria, pues las partes superiores, se ocuparán conforme
desarrollemos el juego.

De igual manera declaramos a los caníbales


2) Ahora se realizan los movimientos, en este caso se toma la línea de memoria 0120
como el rio.
Además, se implementa el comando clr para eliminar los rastros que dejan los
movimientos del acumulador.

Ilustración 1 movimiento de Caníbales 4 y 5 al otro lado del río

Ilustración 2 Movimientos de caníbale 6 a la otra orilla, llevado por canibal 5


Ilustración 3 Se lleva al misionero 2 al otro lado y se trae al caníbal 4

Ilustración 4 Con el caníbal 5 como transportista, se lleva a los misioneros restantes a la otra orilla
Ilustración 5 se transportan al otro lado a los caníbales

Y así obtenemos solucionado el juego de los Caníbales y Misioneros.

Nota: en el emulador se tuvo bastantes complicaciones:

- Cada comando debe llevar algún valor antes, y debe ser diferente en cada caso, si no
se hace de esa manera, no se logra ensamblar el código.
- Cada nueva acción debía ser verificada abriendo de nuevo el emulador, pues al
intentar verificar los cambios en la misma sesión del emulador, no se conseguía.
- La ubicación del juego debía hacerse en las zonas inferiores, pues los espacios
superiores se llenaban conforme el juego se desarrollaba.
CÓDIGO FINAL

A1 ldaa #01 E2 ldaa $111


A11 staa $110 E21 staa $131
A2 ldaa #02 E22 clr $111
A21 staa $111 E3 ldaa $130
A3 ldaa #03 E31 staa $110
A31 staa $112 E32 clr $130
B1 ldaa #04 E4 ldaa $133
B11 staa $113 E41 staa $113
B2 ldaa #05 E42 clr $133
B21 staa $114 F1 ldaa $110
B3 ldaa #06 F11 staa $130
B31 staa $115 F12 clr $110
C1 ldaa $113 F2 ldaa $112
C11 staa $133 F21 staa $132
C12 clr $113 F22 clr $112
C2 ldaa $114 F3 ldaa $135
C21 staa $134 F31 staa $115
C22 clr $114 F32 clr $135
C3 ldaa $134 G1 ldaa $113
C31 staa $114 G11 staa $133
C32 clr $134 G12 clr $113
D1 ldaa $114 G2 ldaa $114
D11 staa $134 G21 staa $134
D12 clr $114 G22 clr $114
D2 ldaa $115 G3 ldaa $133
D21 staa $135 G31 staa $113
D22 clr $115 G32 clr $133
D3 ldaa $134 H1 ldaa $113
D31 staa $114 H11 staa $133
D32 clr $134 H12 clr $113
E1 ldaa $110 H2 ldaa $115
E11 staa $130 H21 staa $135
E12 clr $110 H22 clr $115
CONCLUSIONES

- El emulador permite realizar este tipo de programaciones, que, aunque básicas,


permiten aprender e iniciarse en el lenguaje de máquina.
- Al ser un microprocesador bastante antiguo, su lenguaje de programación es
limitado y se limita solo a ser utilizado en dicho procesador.
- El lenguaje de maquina implica más comandos de los que en la vida diaria una
persona podría imaginar.
BIBLIOGRAFIA

http://www.hvrsoftware.com/6800emu.htm
https://es.wikipedia.org/wiki/Microprocesador
https://es.wikipedia.org/wiki/Motorola_6800

También podría gustarte