RETLW+y+RETURN

Es la última instrucción que forma una subrutina, al igual que RETURN, con la diferencia que carga en W el valor de k. || MOVWF DATO 1; carga W en Dato1. CALL SUBRUT 2; llama a Subrut2. MOVWF DATO 2; carga W en Dato2. * * SUBRUT1 RETLW 0A; carga W = 0A y retorna. SUBRUT2 RETLW 0B; carga W = 0B y retorna. ||
 * RETLW. **
 * Acción || Retorno de subrutina y carga literal K en el acumulador. ||
 * Sintaxis || RETLW ||
 * Funcionamiento || Return with Literal in W ||
 * Hexadecimal || 34 kk ||
 * Bits (OPCODE) || 11 01xx kkkk kkkk ||
 * Operación  || RETORNO con W = k ||
 * Descripción || Esta instrucción retorna de una subrutina al programa principal, cargando el acumulador W con el literal k.
 * <span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-bidi-font-weight: bold; mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: major-fareast;">Comentarios || <span style="font-family: 'Times New Roman','serif'; font-size: 12pt;">¿Y para qué me sirve regresar de una subrutina con un determinado literal en el acumulador? Nos será muy útil al programar con TABLAS. ||
 * <span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-bidi-font-weight: bold; mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: major-fareast;">Registro STATUS || <span style="font-family: 'Times New Roman','serif'; font-size: 12pt;">No modificar ningún bit de estado. ||
 * <span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-bidi-font-weight: bold; mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: major-fareast;">Ejemplo || <span style="font-family: 'Times New Roman','serif'; font-size: 12pt;"> CALL SUBRUT 1; llama a Subrut1.
 * <span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-bidi-font-weight: bold; mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: major-fareast;">Ciclo de máquina || <span style="font-family: 'Times New Roman','serif'; font-size: 12pt;">2 ||

Es la última instrucción que forma una subrutina (al igual que RETLW). || Entonces podemos concluir que una subrutina está constituida por un conjunto de instrucciones demarcadas por un nombre que se encuentra al inicio y la instrucción RETURN que se encuentra al final demarcando el final de la subrutina. Estos mismos pasos debemos seguirlos para la instrucción RETLW. || INSTRUCCION1 ; vuelve aquí cuando se INSTRUCCION2 ; ejecuta return * * COMPARA INSTRUCCIÓN R1 INSTRUCCIÓN R2 RETURN Aquí llamamos a la subrutina COMPARA, se ejecutan las instrucciones R1 y R2 y con el RETURN regresa a la instrucción siguiente al CALL y ejecuta las instrucciones 1, 2 y sigue con el programa. || REFERENCIA:
 * <span style="font-family: 'Times New Roman','serif'; font-size: 12pt; line-height: 115%;">RETURN. **
 * <span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-bidi-font-weight: bold; mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: major-fareast;">Acción || <span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-bidi-font-weight: bold; mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: major-fareast;">Retorno de una subrutina ||
 * <span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-bidi-font-weight: bold; mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: major-fareast;">Sintaxis || <span style="font-family: 'Times New Roman','serif'; font-size: 12pt;">RETURN ||
 * <span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-bidi-font-weight: bold; mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: major-fareast;">Funcionamiento || <span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-ansi-language: EN-US;">Return from subroutine ||
 * <span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-ansi-language: EN-US; mso-bidi-font-weight: bold; mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: major-fareast;">Hexadecimal || <span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-ansi-language: EN-US;">00 08 ||
 * <span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-ansi-language: EN-US; mso-bidi-font-weight: bold; mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: major-fareast;">Bits (OPCODE) || <span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-ansi-language: EN-US;">00 0000 0000 1000 ||
 * <span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-bidi-font-weight: bold; mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: major-fareast;">Operación <span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-ansi-language: EN-US; mso-bidi-font-weight: bold; mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: major-fareast;"> || <span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-ansi-language: EN-US;">RETORNO ||
 * <span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-ansi-language: EN-US; mso-bidi-font-weight: bold; mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: major-fareast;">Descripción || <span style="font-family: 'Times New Roman','serif'; font-size: 12pt;">Esta instrucción retorna de una subrutina al programa principal en la instrucción siguiente a la llamada de la subrutina, tomando el valor almacenado en el stack para continuar:
 * <span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-bidi-font-weight: bold; mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: major-fareast;">Comentarios || <span style="font-family: 'Times New Roman','serif'; font-size: 12pt;">El procedimiento es siempre el mismo. Así, tenemos que crear la subrutina y darle el nombre para poder ser llamada; al final de la subrutina se debe escribir la instrucción denominada RETURN.
 * <span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-bidi-font-weight: bold; mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: major-fareast;">Registro STATUS || <span style="font-family: 'Times New Roman','serif'; font-size: 12pt;">No modifica ningún bit de estado. ||
 * <span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-bidi-font-weight: bold; mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: major-fareast;">Ejemplo || <span style="font-family: 'Times New Roman','serif'; font-size: 12pt;"> CALL COMPARA ; llama a Compara.
 * <span style="font-family: 'Times New Roman','serif'; font-size: 12pt; mso-bidi-font-weight: bold; mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: major-fareast;">Ciclo de máquina || <span style="font-family: 'Times New Roman','serif'; font-size: 12pt;">2 ||

PDF. 18485265-7-Las-Intrucciones-Del-Pic-16f84

BRENDA ELIZETH GONZALEZ ENRIQUEZ UNIVERSIDAD MARISTA DE QUERETARO. 5TO SEMESTRE DE ING. EN COMPUTACION. ARQUITECTURA DE LAS COMPUTADORAS