documentacion_pcp
Table of Contents
Documentación PCP
CPU Ithladin
La CPU del PCP es un nucleo emulado por el Atmega 328. Se trata de una plataforma de 32 bits, con una longitud de instruccion fija de 32 bits. El sistema posee 14 registros de uso general y 2 de uso interno.
He aqui una documentacion preliminar del mismo:
registros:
r0 -- r13 rpc, rsp (r14 y r15)
especiales:
0 - nop -- no hace nada 1 - sys - sys 1 -- hace la llamada del sistema 1 (tienen que haber parametros en los registros correspondientes)
carga:
2 - lw - lw r1,r2 -- guarda en r1 la palabra en [r2] 3 - sw 4 - lb - lb r1,r2 -- guarda en r1 el byte en [r2] 5 - sb 6 - ld - ld r1,1 -- guarda en r1 el valor inmediato especificado 7 - cp - cp r1,r2 -- guarda en r2 el valor de r1
aritmeticas:
8 - add - add r1,r2,r3 -- suma r1 y r2 y guarda el valor en r3 9 - sub 10 - mul 11 - div
manejo de bits:
12 - shr - shr r1,5,r2 -- desplaza los bits de r1 5 posiciones a la derecha y guarda el resultado en r2 13 - shl
control de flujo:
14 - jmp - jmp r1 -- salto absoluto a [r1] 15 - beq - beq r1,r2,r3-- salta a [r3] si r1 = r2 16 - bne -- salta si no igual 17 - bgt -- salta si mayor que 18 - blt -- salta si menor que
pila:
19 - push r1 20 - pop r1
logicas:
21 - and r1,r2,r3 hace el and logico de r1 y r2 y guarda el resultado en r3 22 - or r1,r2,r3 23 - not r1,r2 24 - xor r1,r2,r3
salto a subrutina:
25 - call r1 -- Salta a la subrutina en [r1] apilando la direccion de vuelta en la pila 26 - ret -- Vuelve de una subrutina desapilando la direccion
5 bits codigo de operacion 4 bits para direccionar registro
Llamadas al sistema
Variables de sistema:
color,attribute : dos bytes que seran el color y el atributo global
Registros parametro:
r9 - especifica la subfuncion r10 r11 r12 r13 r14
Funcion 0: Acceso a pantalla
Subfuncion 0: Leer la posicion del cursor y datos del caracter actual Devuelve en r10 y r11 X,Y del cursor, en r12 el caracter, y en r13 y r14 los atributos y color del mismo
Subfuncion 1: Cambiar atributo de caracter global Se cambia el atributo por el valor leido en r10
Subfuncion 2: Cambiar color de caracter global Se cambia el color por el valor leido en r10
Subfuncion 3: Escribir caracter Escribe el caracter en r10 en la posicion actual, con los atributos globales y el color global
Subfuncion 4: Escribir caracter especifico Escribe el caracter en r10 en la posicion r11xr12 con atributo r13 y color r14
Subfuncion 5: Cambiar x,y Cambia x,y por los valores que haya en r10,r11
Subfuncion 6: Borrar pantalla Borra la pantalla
Subfuncion 7: Activar cursor Activa el cursor de texto
Subfuncion 8: Desactivar cursor Desactiva el cursor de texto
Funcion 1: Lectura de teclado
Subfuncion 0: Preguntar si se ha pulsado una tecla Devuelve 1 en r10 si es asi y 0 en caso contrario Subfuncion 1: Leer el caracter que hay en el buffer Devuelve en r10 el caracter
Subfuncion 2: Espera una pulsacion de tecla y la lee Devuelve en r10 el caracter
Funcion 2: Sistema TTS
Subfuncion 0: Reproducir alofono Se reproduce el alofono contenido en r10
documentacion_pcp.txt · Last modified: 2012/11/28 15:15 by jojo