010:software

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisiónAmbos lados, revisión siguiente
010:software [d/m/Y H:i] – [Dos tipos de interrupciones] miguel010:software [d/m/Y H:i] – [Dos tipos de interrupciones] miguel
Línea 44: Línea 44:
  
  
-<code>  +<code asm>  
-DIR. ¡CODIGO ¡LISTADO DIR. ¡CODIGO ¡LISTADO  +DIR. ¡CODIGO ¡LISTADO  
- ORG FEFF 7E LD A, (HL)  + ORG FEFF  
-FEFF 01 FF DIR-OM DEFW FF01 ¡Dirección de 26 FF LD H,FF Carga H con —1 +FEFF 01 FF DIR-OM DEFW FF01 ¡Dirección de 
- comienzo FF56 24 R10 INC H ¡Cálculo del dígito en + comienzo 
-FFO! F3 COMIENZO DI BCD +FFO! F3 COMIENZO DI  
- F5 PUSH AF ¡Guarda registros D6 0A SUB OA ¡más significativo + F5 PUSH AF ¡Guarda registros 
- E5 PUSH HL 30 FB JR NC,R10  + E5 PUSH HL  
- D5 PUSH DE C6 0A ADD A, OA  + D5 PUSH DE  
- C5 PUSH BC 6F LD L,A ¡Almacena el resto + C5 PUSH BC  
- 21 91 FF LD HL, TIME ¡Actualizar 1/50'avos en L + 21 91 FF LD HL, TIME ¡Actualizar 1/50'avos 
- de 7C LD A,H  + de 
- 34 INC (HL) ¡segundo E5 PUSH HL  + 34 INC (HL) ¡segundo 
- 3E32 LD A,32 ¡Si no se ha llegado CD 6A FF CALL CHR ¡Imprime el contenido + 3E32 LD A,32 ¡Si no se ha llegado 
- a 50 de H + a 50 
- BE CP (HL) ¡ir a la rutina de E1 POP HL  + BE CP (HL) ¡ir a la rutina de 
- impresión 7D LD A,L  + impresión 
- 20 1B JR NZJMP CD 6A FF CALL CHR ¡Imprime el contenido + 20 1B JR NZJMP  
- 36 00 LD (HL),00 ¡Poner 1/50'avos a de L + 36 00 LD (HL),00 ¡Poner 1/50'avos a 
- cero E1 POP HL  + cero 
- 23 INC HL ¡Sumar un segundo C9 RET  + 23 INC HL ¡Sumar un segundo 
- 34 INC (HL) FF6A 07 CHR RLCA »Multiplica por 8 el + 34 INC (HL)  
- 3E 3C LD A,3C ¡Si no se ha llegado contenido + 3E 3C LD A,3C ¡Si no se ha llegado 
- a 60 07 RLCA ¡del acumulador + a 60 
- BE CP (HL) ¡saltar a la rutina de 07 RLCA  + BE CP (HL) ¡saltar a la rutina de 
- 2012 JR NZJMP ¡impresión 21 95 FF LD HL,CARO ¡Cálculo de la + 2012 JR NZJMP ¡impresión 
- 36 00 LD (HL),00 ¡Poner segundos a dirección + 36 00 LD (HL),00 ¡Poner segundos a 
- cero 16 00 LD D,00 ¡del primer byte del + cero 
- 23 INC HL 5F LD E,A ¡carácter a imprimir y + 23 INC HL  
- 34 INC (HL) ¡Sumar un minuto almacenar + 34 INC (HL) ¡Sumar un minuto 
- BE CP (HL) ¡Si no se ha llegado 19 ADD HL,DE »en DE + BE CP (HL) ¡Si no se ha llegado 
- a 60 ir E5 PUSH HL  + a 60 ir 
- 20 OB JR NZJMP ¡a la rutina de D1 POP DE  + 20 OB JR NZJMP ¡a la rutina de 
- impresión 3A 90 FF LD A,(XPOS) ¡Cálculo de la direc- + impresión 
- 36 00 LD (HL),00 ¡poner minutos a ción de + 36 00 LD (HL),00 ¡poner minutos a 
- cero 6F LD L,A ¡atributos + cero 
- 23 INC HL ¡Sumar una hora 26 58 LD H.58  + 23 INC HL ¡Sumar una hora 
- 34 INC (HL) 36 38 LD (HL),38 ¡Poner INK negro y + 34 INC (HL)  
- 3E 18 LD A,18 ¡Si no se llegado a PAPER blanco + 3E 18 LD A,18 ¡Si no se llegado a 
- 24 horas 26 40 LD H,40  + 24 horas 
- BE CP (HL) ¡saltar a la impresión 06 08 LD B,8 ¡Colocación de 8 + BE CP (HL) ¡saltar a la impresión 
- 20 02 JR NZJMP bytes consecutivos + 20 02 JR NZJMP  
- 36 00 LD (HL),00 ¡Poner horas a cero FF82 1A ET1 LD A,(DE) ¡a partir de DE en la + 36 00 LD (HL),00 ¡Poner horas a cero 
-FF2A 21 94 FF IMP LD HLJIME+3 ¡Cargar HL con la di- 77 LD (HL),A ¡pantalla +FF2A 21 94 FF IMP LD HLJIME+3 ¡Cargar HL con la di- 
- rección de las horas 24 INC H  + rección de las horas 
- 3E 17 LD A,17 ¡Cargar XPOS con la 13 INC DE  + 3E 17 LD A,17 ¡Cargar XPOS con la 
- posión 10 Fa DJNZ ET1  + posión 
- 32 90 FF LD (XPOS),A ¡donde se imprimirá 3A 90 FF LD A,(XPOS) ¡Increntar la posición + 32 90 FF LD (XPOS),A ¡donde se imprimirá 
- el del + el 
- ¡primer caracter 3C INCA ¡carácter a imprimir a + ¡primer caracter 
- E5 PUSH HL ¡Llamada a la rutina 32 90 FF LD (XPOS),A ¡continuación en uno + E5 PUSH HL ¡Llamada a la rutina 
- de imprimir C9 RET  + de imprimir 
- CD 52 FF CALL COS ¡el contenido de HL FF90 00 XPOS DEFB 00 ¡Dirección de pantalla + CD 52 FF CALL COS ¡el contenido de HL 
- 3EOA LD A,OA ¡Impresión del signo ¡se imprimirá el + 3EOA LD A,OA ¡Impresión del signo 
- CD 6A FF próximo + CD 6A FF  
- CALL CHR ¡carácter + CALL CHR  
- E1 POP HL FF91 00 00 00 00 TIME DEFB 00 00 00 00 ¡Variables del tiempo + E1 POP HL  
- 2B DEC HL ¡Llevar a HL la FF95 7C BA C6 C6 CARO DEFB 7C BA C6 C6 ¡Definición de los + 2B DEC HL ¡Llevar a HL la 
- dirección C6 C6 BA 7C C6 C6 BA 7C ¡caracteres + dirección 
- ¡de los minutos 02 06 06 02 CAR1 DEFB 02 06 06 02  + ¡de los minutos 
- E5 PUSH HL 02 06 06 02 02 06 06 02  + E5 PUSH HL  
- CD 52 FF CALL COS ¡Imprimir el contenido 7C 3A 06 7A CAR2 DEFB 7C 3A 06 7A  + CD 52 FF CALL COS ¡Imprimir el contenido 
- de HL BC CO B8 7C BC CO B8 7C  + de HL 
- 3EOA LD A,OA ¡Imprimir •':" 7C 3A 06 3A CAR3 DEFB 7C 3A 06 3A  + 3EOA LD A,OA ¡Imprimir •':" 
- CD 6A FF CALL CHR 7A 06 3A 7C 7A 06 3A 7C  + CD 6A FF CALL CHR  
- E1 POP HL 82 C6 C6 BA CAR4 DEFB 82 C6 C6 BA  + E1 POP HL  
- 2B DEC HL »Llevar a HL la direc- 7A 06 06 02 7A 06 06 02  + 2B DEC HL »Llevar a HL la direc- 
- ción de los segundos 7C D8 CO BC CAR5 DEFB 7C D8 CO BC  + ción de los segundos 
- CD 52 FF CALL COS 7A 06 3A 7C 7A 06 3A 7C  + CD 52 FF CALL COS  
- C1 POP BC »Restaurar el conteni- 7C B8 CO BC CAR6 DEFB 7C B8 CO BC  + C1 POP BC »Restaurar el conteni- 
- do de los BA C6 BA 7C BA C6 BA 7C  + do de los 
- D1 POP DE ¡registros 7C 3A 06 06 CAR7 DEFB 7C 3A 06 06  + D1 POP DE ¡registros 
- E1 POP HL 02 06 06 02 02 06 06 02  + E1 POP HL  
- F1 OPO AF 7C BA C6 BA CAR8 DEFB 7C BA C6 BA  + F1 OPO AF  
- FF RST38 ¡Rutina ROM de lec- BA C6 BA 7C BA C6 BA 7C  + FF RST38 ¡Rutina ROM de lec- 
- tura del 7C BA C6 BA CAR9 DEFB 7C BA C6 BA  + tura del 
- ¡teclado 7A 06 3A 7C 7A 06 3A 7C  + ¡teclado 
- ED 4D RETI ¡Retorno desde 00 18 18 00 CARD DEFB 00 18 18 00  + ED 4D RETI ¡Retorno desde 
-FF52 E5 interrupción 00 18 18 00 00 18 18 00  +FF52 E5 interrupción 
- eos PUSH HL ¡Esta rutina primero FFED 3E FE ACTIVA LD A,FE ¡Rutina de Activación + eos PUSH HL ¡Esta rutina primero 
- para el ED 47 LD l,A ¡Carga I con la + para el 
- ¡número binario con- dirección + ¡número binario con- 
- tenido en ¡de la interrupción + tenido en 
- ¡HL a un número en ED 5E IM 2 ¡Modo de interrup- + ¡HL a un número en 
- BCD, también ción 2 + BCD, también 
- ¡contenido en HL C9 RET  + ¡contenido en HL 
 +MICROHOBBY 23 
 +  
 +DIR. IC0DIG0 ¡LISTADO  
 + 7E LD A, (HL)  
 + 26 FF LD H,FF Carga H con —1 
 +FF56 24 R10 INC H ¡Cálculo del dígito en 
 + BCD 
 + D6 0A SUB OA ¡más significativo 
 + 30 FB JR NC,R10  
 + C6 0A ADD A, OA  
 + 6F LD L,A ¡Almacena el resto 
 + en L 
 + 7C LD A,H  
 + E5 PUSH HL  
 + CD 6A FF CALL CHR ¡Imprime el contenido 
 + de H 
 + E1 POP HL  
 + 7D LD A,L  
 + CD 6A FF CALL CHR ¡Imprime el contenido 
 + de L 
 + E1 POP HL  
 + C9 RET  
 +FF6A 07 CHR RLCA »Multiplica por 8 el 
 + contenido 
 + 07 RLCA ¡del acumulador 
 + 07 RLCA  
 + 21 95 FF LD HL,CARO ¡Cálculo de la 
 + dirección 
 + 16 00 LD D,00 ¡del primer byte del 
 + 5F LD E,A ¡carácter a imprimir 
 + almacenar 
 + 19 ADD HL,DE »en DE 
 + E5 PUSH HL  
 + D1 POP DE  
 + 3A 90 FF LD A,(XPOS) ¡Cálculo de la direc- 
 + ción de 
 + 6F LD L,A ¡atributos 
 + 26 58 LD H.58  
 + 36 38 LD (HL),38 ¡Poner INK negro y 
 + PAPER blanco 
 + 26 40 LD H,40  
 + 06 08 LD B,8 ¡Colocación de 8 
 + bytes consecutivos 
 +FF82 1A ET1 LD A,(DE) ¡a partir de DE en la 
 + 77 LD (HL),A ¡pantalla 
 + 24 INC H  
 + 13 INC DE  
 + 10 Fa DJNZ ET1  
 + 3A 90 FF LD A,(XPOS) ¡Increntar la posición del 
 + 3C INCA ¡carácter a imprimir a 
 + 32 90 FF LD (XPOS),A ¡continuación en uno 
 + C9 RET  
 +FF90 00 XPOS DEFB 00 ¡Dirección de pantalla 
 + ¡se imprimirá el 
 + próximo 
 + ¡carácter 
 +FF91 00 00 00 00 TIME DEFB 00 00 00 00 ¡Variables del tiempo 
 +FF95 7C BA C6 C6 CARO DEFB 7C BA C6 C6 ¡Definición de los 
 + C6 C6 BA 7C C6 C6 BA 7C ¡caracteres 
 + 02 06 06 02 CAR1 DEFB 02 06 06 02  
 + 02 06 06 02 02 06 06 02  
 + 7C 3A 06 7A CAR2 DEFB 7C 3A 06 7A  
 + BC CO B8 7C BC CO B8 7C  
 + 7C 3A 06 3A CAR3 DEFB 7C 3A 06 3A  
 + 7A 06 3A 7C 7A 06 3A 7C  
 + 82 C6 C6 BA CAR4 DEFB 82 C6 C6 BA  
 + 7A 06 06 02 7A 06 06 02  
 + 7C D8 CO BC CAR5 DEFB 7C D8 CO BC  
 + 7A 06 3A 7C 7A 06 3A 7C  
 + 7C B8 CO BC CAR6 DEFB 7C B8 CO BC  
 + BA C6 BA 7C BA C6 BA 7C  
 + 7C 3A 06 06 CAR7 DEFB 7C 3A 06 06  
 + 02 06 06 02 02 06 06 02  
 + 7C BA C6 BA CAR8 DEFB 7C BA C6 BA  
 + BA C6 BA 7C BA C6 BA 7C  
 + 7C BA C6 BA CAR9 DEFB 7C BA C6 BA  
 + 7A 06 3A 7C 7A 06 3A 7C  
 + 00 18 18 00 CARD DEFB 00 18 18 00  
 + 00 18 18 00 00 18 18 00  
 +FFED 3E FE ACTIVA LD A,FE ¡Rutina de Activación 
 + ED 47 LD l,A ¡Carga I con la 
 + dirección 
 + ¡de la interrupción 
 + ED 5E IM 2 ¡Modo de interrup- 
 + ción 2 
 + C9 RET
 </code> </code>
  • 010/software.txt
  • Última modificación: d/m/Y H:i
  • por miguel