Docstoc

;La ROM del MICRO85 redirecciona la rutina de servicio de

Document Sample
;La ROM del MICRO85 redirecciona la rutina de servicio de Powered By Docstoc
					;El programa enciende los LEDs según el valor de los interruptores   E233   3204E1 STA E104
;e implementa un reloj con precisión de centésimas de segundo        E236   3A01E1 LDA E101 ;Lee y muestra décimas en D5
;(se generan externamente 400 interrupciones RST 7.5 por segundo)    E239   F6A0    ORI A0
;-------------------------------------------------------             E23B   D30A    OUT 0A
;La ROM del MICRO85 redirecciona la rutina de servicio de            E23D   C390E2 JMP E290
;interrupciones de la RST 7.5 a la dirección de RAM FFB3             E240   3E00    MVI A,00 ;Cuarta interrupción
00C3    F3     DI       ;No se permiten nuevas interrupciones HW     E242   3204E1 STA E104
00C4    C3B3FF JMP FFB3                                              E245   3A00E1 LDA E100 ;Incrementa valor centésimas
;-------------------------------------------------------             E248   3C      INR A
;Programa principal: programa 8255, inicializa variables,            E249   3200E1 STA E100
;programa interrupciones HW, lee interruptores y enciende LEDs       E24C   FE0A    CPI 0A   ;Comprueba desbordamiento centésimas
E000   3E90    MVI A,90 ;Programa 8255, modo 0                       E24E   C285E2 JNZ E289
E002   D30B    OUT 0B   ;PA:IN, PB:OUT, PC:OUT                       E251   3E00    MVI A,00
E004   3E00    MVI A,00 ;Inicializa variables reloj a 0              E253   3200E1 STA E100
E006   3200E1 STA E100                                               E256   3A01E1 LDA E101
E009   3201E1 STA E101                                               E259   3C      INR A
E00C   3202E1 STA E102                                               E25A   3201E1 STA E101
E00F   3203E1 STA E103                                               E25D   FE0A    CPI 0A   ;Comprueba desbordamiento décimas
E012   3204E1 STA E104 ;Contador interrupciones a 0                  E25F   C289E2 JNZ E289
E015   3E0B    MVI A,0B ;Desenmascara la RST 7.5                     E262   3E00    MVI A,00
E017   30      SIM                                                   E264   3201E1 STA E101
E018   FB      EI       ;Permite interrupciones HW                   E267   3A02E1 LDA E102
E019   DB08    IN 08    ;Lee interruptores                           E26A   3C      INR A
E01B   D309    OUT 09   ;Enciende LEDs                               E26B   3202E1 STA E102
E01D   C319E0 JMP E019                                               E26E   FE0A    CPI 0A   ;Comprueba desbordamiento segundos
;-------------------------------------------------------             E270   C289E2 JNZ E289
;Variables utilizadas para realizar el reloj                         E273   3E00    MVI A,00
E100   00      NOP      ;Centésimas                                  E275   3202E1 STA E102
E101   00      NOP      ;Décimas                                     E278   3A03E1 LDA E103
E102   00      NOP      ;Segundos                                    E27B   3C      INR A
E103   00      NOP      ;Decenas de segundos                         E27C   3203E1 STA E103
E104   00      NOP      ;Contador interrupciones                     E27F   FE06    CPI 06   ;Comprueba desbordamiento decenas segundo
;-------------------------------------------------------             E281   C285E2 JNZ E289
;Rutina de servicion de interrupciones de la RST 7.5                 E284   3E00    MVI A,00
E200   F5      PUSH PSW ;Salva contexto                              E286   3204E1 STA E103
E201   C5      PUSH B                                                E289   3A00E1 LDA E100 ;Lee y muestra centésimas en D6
E202   D5      PUSH D                                                E28C   F660    ORI 60
E203   E5      PUSH H                                                E28E   D30A    OUT 0A
E204   3A04E1 LDA E104 ;Lee contador interrupciones                  E290   E1      POP H    ;Recupera contexto
E207   FE00    CPI 00                                                E291   D1      POP D
E209   C21AE2 JNZ E21A                                               E292   C1      POP B
E20C   3C      INR A    ;Primera interrupción                        E293   F1      POP PSW
E20D   3204E1 STA E104                                               E294   FB      EI       ;Se permiten nuevas interrupciones HW
E210   3A03E1 LDA E103 ;Lee y muestra decenas segundo en D3          E295   C9      RET      ;Fin de la rutina de servicio
E213   F630    ORI C0                                                ;-------------------------------------------------------
E215   D30A    OUT 0A                                                ;Redirecciona la rutina de servicio de interrupciones
E217   C390E2 JMP E290                                               ;a la dirección E200
E21A   FE01    CPI 01                                                FFB3   C300E2 JMP E200
E21C   C22DE2 JNZ E22D
E21F   3C      INR A    ;Segunda interrupción
E220   3204E1 STA E104
E223   3A02E1 LDA E102 ;Lee y muestra segundos en D4
E226   F630    ORI 30
E228   D30A    OUT 0A
E22A   C390E2 JMP E290
E22D   FE02    CPI 02
E22F   C240E2 JNZ E240
E232   3C      INR A    ;Tercera interrupción

				
DOCUMENT INFO
Shared By:
Categories:
Stats:
views:13
posted:9/21/2010
language:Spanish
pages:1