Вы находитесь на странице: 1из 9

.

model small ;indica que el programa es "small"


.8086
.stack 512 ;reserva 512 bits para la pila
.data ;indica el inicio de datos
grupo_A equ 0080H;hace referencia al grupo A del 8255
grupo_B equ 0082H;hace referencia al grupo B del 8255
grupo_C equ 0084H;hace referencia al grupo C del 8255
U equ 00111110b;**************************************
U1 equ 00000000b;**** ****
N equ 01110110b;**** Se escriben los equivalentes ****
N1 equ 00000100b;**** de las letras de tal forma; ****
A equ 00110111b;**** que una etra se guarda como ****
A1 equ 00100010b;**** dos numeros de 8 bits cada ****
B equ 00111001b;**** uno. Estas letras se guardan ****
B1 equ 00100101b;**** en el registro AL para ****
C equ 00111001b;**** luego mostrarlos en los ****
C1 equ 00000000b;**** grupos de salida A y B ****
D equ 01110000b;**** ****
D1 equ 01000000b;**** ejm: ****
E equ 00111001b;**** ****
E1 equ 00100000b;**** A equ 00110111b ****
F equ 00110001b;**** A1 equ 00100010b ****
F1 equ 00100000b;**** ****
I equ 10001001b;**** forman la palabra A en un ****
I1 equ 00001000b;**** display de 14 segmentos ****
V equ 00110000b;**** ****
V1 equ 00010001b;**************************************
G equ 00111101b;**************************************
G1 equ 00000010b;**************************************
T equ 10000001b;**************************************
T1 equ 00001000b;**************************************
O equ 00111111b;**************************************
O1 equ 00000000b;**************************************
M equ 01110110b;**************************************
M1 equ 00000001b;**************************************
L equ 00111000b;**************************************
L1 equ 00000000b;**************************************
R equ 00110011b;**************************************
R1 equ 00100110b;**************************************
vacio equ 00000000b;**************************************
.code ; inicia el codigo
inicio:
MOV DX,grupo_B ;guardamos el 0082H (GRUPO_B) en DX
IN AL,DX ;habilitamos al GRUPO_B como entrada
;comparamos la entrada (AL)
cmp al,01111111b ;con el valor 01111111b (pulsador presionado)
je palabra1 ;si el pulsador esta presionado va a la subrutina "palabra1
"
jne inicio ;si el pulsador no se presiona va a la subrutina "inicio"
;esperando a que el pulsador este presionado
palabra1:
mov cx,01FFh ;registro CX=01FFh para el retardo
primera_palabra:
primer_digito:
mov al,M ;una parte de la palabra M se guarda en AL
MOV DX,GRUPO_A ;habilitamos el GRUPO_A como salida
OUT DX,AX ;mostramos el valor de AX en el GRUPO_A
mov al,M1 ;la otra parte de la palabra M se guarda en AL
MOV DX,GRUPO_B ;habilitamos el GRUPO_B como salida
OUT DX,AX ;mostramos el valor de AX en el GRUPO_B
mov al,01h ;guardamos el 01H en AL (esto para ensender el primer displ
ay;
;sera 02H para el segundo display, 04h para el tercer displ
ay,
;y asi sucesivamente)
not ax ;se niega AL porque el display es Catodo Comun
MOV DX,GRUPO_C ;habilitamos el GRUPO_C como salida
out DX,ax ;mostramos el valor negado de AX en el GRUPO_C
mov al,00h ;guardamos el 00H en AL (esto es para apagar todos los disp
lays)
not ax ;se niega AL porque el display es Catodo Comun
MOV DX,GRUPO_C ;habilitamos el GRUPO_C como salida
out DX,ax ;mostramos el valor negado de AX en el GRUPO_C
segundo_digito: ;para el segundo_digito se procede igual que
;primer_digito pero con diferente letra
mov al,I
MOV DX,GRUPO_A
OUT DX,AX
mov al,I1
MOV DX,GRUPO_B
OUT DX,AX
mov al,02h
not ax
MOV DX,GRUPO_C
out DX,ax
mov al,00h
not ax
MOV DX,GRUPO_C
out DX,ax
tercer_digito: ;para el tercer_digito se procede igual que
;primer_digito pero con diferente letra o espacio (vacio)
mov al,G
MOV DX,GRUPO_A
OUT DX,AX
mov al,G1
MOV DX,GRUPO_B
OUT DX,AX
mov al,04h
not ax
MOV DX,GRUPO_C
out DX,ax
mov al,00h
not ax
MOV DX,GRUPO_C
out DX,ax
cuarto_digito: ;para el cuarto_digito se procede igual que
;primer_digito pero con diferente letra o espacio (vacio)
mov al,U
MOV DX,GRUPO_A
OUT DX,AX
mov al,U1
MOV DX,GRUPO_B
OUT DX,AX
mov al,08h
not ax
MOV DX,GRUPO_C
out DX,ax
mov al,00h
not ax
MOV DX,GRUPO_C
out DX,ax
quinto_digito: ;para el quinto_digito se procede igual que
;primer_digito pero con diferente letra o espacio (vacio)
mov al,E
MOV DX,GRUPO_A
OUT DX,AX
mov al,E1
MOV DX,GRUPO_B
OUT DX,AX
mov al,10h
not ax
MOV DX,GRUPO_C
out DX,ax
mov al,00h
not ax
MOV DX,GRUPO_C
out DX,ax
sexto_digito: ;para el sexto_digito se procede igual que
;primer_digito pero con diferente letra o espacio (vacio)
mov al,L
MOV DX,GRUPO_A
OUT DX,AX
mov al,L1
MOV DX,GRUPO_B
OUT DX,AX
mov al,20h
not ax
MOV DX,GRUPO_C
out DX,ax
mov al,00h
not ax
MOV DX,GRUPO_C
out DX,ax
septimo_digito: ;para el septimo_digito se procede igual que
;primer_digito pero con diferente letra o espacio (vacio)
mov al,vacio
MOV DX,GRUPO_A
OUT DX,AX
mov al,vacio
MOV DX,GRUPO_B
OUT DX,AX
mov al,40h
not ax
MOV DX,GRUPO_C
out DX,ax
mov al,00h
not ax
MOV DX,GRUPO_C
out DX,ax
octavo_digito: ;para el octavo_digito se procede igual que
;primer_digito pero con diferente letra o espacio (vacio)
mov al,vacio
MOV DX,GRUPO_A
OUT DX,AX
mov al,vacio
MOV DX,GRUPO_B
OUT DX,AX
mov al,80h
not ax
MOV DX,GRUPO_C
out DX,ax
mov al,00h
not ax
MOV DX,GRUPO_C
out DX,ax
loop primera_palabra
;una vez terminado el retardo:
mov al,0xff ;AL=11111111b
MOV DX,GRUPO_B ;guardamos el 0082H (GRUPO_B) en DX
OUT DX,AX ;mostramos el valor de AL en el GRUPO_B
;
MOV DX,grupo_B
IN AL,DX ;ahora habilitamos el GRUPO_B como entrada
cmp al,01111111b ;comparamos AL con el valor 01111111b (pulsador presionado)
je palabra2 ;si se presiona el pulsador pasa a la subrutina "palabra2"
jne palabra1 ;si no se presiona vuelve a la subrutina "palabra1"
palabra2:
mov cx,01FFh
segunda_palabra:
primer_digito2:
mov al,V
MOV DX,GRUPO_A
OUT DX,AX
mov al,V1
MOV DX,GRUPO_B
OUT DX,AX
mov al,01h
not ax
MOV DX,GRUPO_C
out DX,ax
mov al,00h
not ax
MOV DX,GRUPO_C
out DX,ax
segundo_digito2:
mov al,E
MOV DX,GRUPO_A
OUT DX,AX
mov al,E1
MOV DX,GRUPO_B
OUT DX,AX
mov al,02h
not ax
MOV DX,GRUPO_C
out DX,ax
mov al,00h
not ax
MOV DX,GRUPO_C
out DX,ax
tercer_digito2:
mov al,G
MOV DX,GRUPO_A
OUT DX,AX
mov al,G1
MOV DX,GRUPO_B
OUT DX,AX
mov al,04h
not ax
MOV DX,GRUPO_C
out DX,ax
mov al,00h
not ax
MOV DX,GRUPO_C
out DX,ax
cuarto_digito2:
mov al,A
MOV DX,GRUPO_A
OUT DX,AX
mov al,A1
MOV DX,GRUPO_B
OUT DX,AX
mov al,08h
not ax
MOV DX,GRUPO_C
out DX,ax
mov al,00h
not ax
MOV DX,GRUPO_C
out DX,ax
quinto_digito2:
mov al,vacio
MOV DX,GRUPO_A
OUT DX,AX
mov al,vacio
MOV DX,GRUPO_B
OUT DX,AX
mov al,10h
not ax
MOV DX,GRUPO_C
out DX,ax
mov al,00h
not ax
MOV DX,GRUPO_C
out DX,ax
sexto_digito2:
mov al,vacio
MOV DX,GRUPO_A
OUT DX,AX
mov al,vacio
MOV DX,GRUPO_B
OUT DX,AX
mov al,20h
not ax
MOV DX,GRUPO_C
out DX,ax
mov al,00h
not ax
MOV DX,GRUPO_C
out DX,ax
septimo_digito2:
mov al,vacio
MOV DX,GRUPO_A
OUT DX,AX
mov al,vacio
MOV DX,GRUPO_B
OUT DX,AX
mov al,40h
not ax
MOV DX,GRUPO_C
out DX,ax
mov al,00h
not ax
MOV DX,GRUPO_C
out DX,ax
octavo_digito2:
mov al,vacio
MOV DX,GRUPO_A
OUT DX,AX
mov al,vacio
MOV DX,GRUPO_B
OUT DX,AX
mov al,80h
not ax
MOV DX,GRUPO_C
out DX,ax
mov al,00h
not ax
MOV DX,GRUPO_C
out DX,ax
loop segunda_palabra
mov al,0xff
MOV DX,GRUPO_B
OUT DX,AX
MOV DX,grupo_B
IN AL,DX
cmp al,01111111b
je palabra3
jne palabra2
palabra3:
mov cx,01FFh
tercera_palabra:
primer_digito3:
mov al,A
MOV DX,GRUPO_A
OUT DX,AX
mov al,A1
MOV DX,GRUPO_B
OUT DX,AX
mov al,01h
not ax
MOV DX,GRUPO_C
out DX,ax
mov al,00h
not ax
MOV DX,GRUPO_C
out DX,ax
segundo_digito3:
mov al,N
MOV DX,GRUPO_A
OUT DX,AX
mov al,N1
MOV DX,GRUPO_B
OUT DX,AX
mov al,02h
not ax
MOV DX,GRUPO_C
out DX,ax
mov al,00h
not ax
MOV DX,GRUPO_C
out DX,ax
tercer_digito3:
mov al,I
MOV DX,GRUPO_A
OUT DX,AX
mov al,I1
MOV DX,GRUPO_B
OUT DX,AX
mov al,04h
not ax
MOV DX,GRUPO_C
out DX,ax
mov al,00h
not ax
MOV DX,GRUPO_C
out DX,ax
cuarto_digito3:
mov al,C
MOV DX,GRUPO_A
OUT DX,AX
mov al,C1
MOV DX,GRUPO_B
OUT DX,AX
mov al,08h
not ax
MOV DX,GRUPO_C
out DX,ax
mov al,00h
not ax
MOV DX,GRUPO_C
out DX,ax
quinto_digito3:
mov al,E
MOV DX,GRUPO_A
OUT DX,AX
mov al,E1
MOV DX,GRUPO_B
OUT DX,AX
mov al,10h
not ax
MOV DX,GRUPO_C
out DX,ax
mov al,00h
not ax
MOV DX,GRUPO_C
out DX,ax
sexto_digito3:
mov al,T
MOV DX,GRUPO_A
OUT DX,AX
mov al,T1
MOV DX,GRUPO_B
OUT DX,AX
mov al,20h
not ax
MOV DX,GRUPO_C
out DX,ax
mov al,00h
not ax
MOV DX,GRUPO_C
out DX,ax
septimo_digito3:
mov al,O
MOV DX,GRUPO_A
OUT DX,AX
mov al,O1
MOV DX,GRUPO_B
OUT DX,AX
mov al,40h
not ax
MOV DX,GRUPO_C
out DX,ax
mov al,00h
not ax
MOV DX,GRUPO_C
out DX,ax
octavo_digito3:
mov al,vacio
MOV DX,GRUPO_A
OUT DX,AX
mov al,vacio
MOV DX,GRUPO_B
OUT DX,AX
mov al,80h
not ax
MOV DX,GRUPO_C
out DX,ax
mov al,00h
not ax
MOV DX,GRUPO_C
out DX,ax
loop tercera_palabra
mov al,0xff
MOV DX,GRUPO_B
OUT DX,AX
MOV DX,grupo_B
IN AL,DX
cmp al,01111111b
je palabra1
jne palabra3
hlt

Вам также может понравиться

  • Trabajo Filtros
    Trabajo Filtros
    Документ25 страниц
    Trabajo Filtros
    Steve Fernandez Vilchez
    Оценок пока нет
  • PREVIO3
    PREVIO3
    Документ6 страниц
    PREVIO3
    Steve Fernandez Vilchez
    Оценок пока нет
  • Codigos Vmlab
    Codigos Vmlab
    Документ1 страница
    Codigos Vmlab
    Steve Fernandez Vilchez
    Оценок пока нет
  • Borrador Codigo en C Avr Studio
    Borrador Codigo en C Avr Studio
    Документ3 страницы
    Borrador Codigo en C Avr Studio
    Steve Fernandez Vilchez
    Оценок пока нет
  • Labo3previo Pregunta1
    Labo3previo Pregunta1
    Документ5 страниц
    Labo3previo Pregunta1
    Steve Fernandez Vilchez
    Оценок пока нет
  • Borrador Vmlab
    Borrador Vmlab
    Документ2 страницы
    Borrador Vmlab
    Steve Fernandez Vilchez
    Оценок пока нет
  • Codigo Vmlab Ejemplos Contador Examen
    Codigo Vmlab Ejemplos Contador Examen
    Документ3 страницы
    Codigo Vmlab Ejemplos Contador Examen
    Steve Fernandez Vilchez
    Оценок пока нет
  • Informe 4 Labo Control II (Final)
    Informe 4 Labo Control II (Final)
    Документ12 страниц
    Informe 4 Labo Control II (Final)
    Steve Fernandez Vilchez
    Оценок пока нет
  • Diseño de PCB Usando Eagle
    Diseño de PCB Usando Eagle
    Документ11 страниц
    Diseño de PCB Usando Eagle
    Steve Fernandez Vilchez
    Оценок пока нет
  • Codigos Vmlab
    Codigos Vmlab
    Документ1 страница
    Codigos Vmlab
    Steve Fernandez Vilchez
    Оценок пока нет
  • Laboratorio Nº5 Dearquivhdlnilygiovana
    Laboratorio Nº5 Dearquivhdlnilygiovana
    Документ11 страниц
    Laboratorio Nº5 Dearquivhdlnilygiovana
    Steve Fernandez Vilchez
    Оценок пока нет
  • Lista de Metodos Numericos-2014b
    Lista de Metodos Numericos-2014b
    Документ2 страницы
    Lista de Metodos Numericos-2014b
    Steve Fernandez Vilchez
    Оценок пока нет
  • Preinforme Lab04 (Final)
    Preinforme Lab04 (Final)
    Документ13 страниц
    Preinforme Lab04 (Final)
    Steve Fernandez Vilchez
    Оценок пока нет
  • Repertorio Instrucciones MIPS
    Repertorio Instrucciones MIPS
    Документ14 страниц
    Repertorio Instrucciones MIPS
    Fernando Agosto Cruz
    Оценок пока нет
  • Circuitos Electricos
    Circuitos Electricos
    Документ5 страниц
    Circuitos Electricos
    Steve Fernandez Vilchez
    Оценок пока нет
  • Timer 555
    Timer 555
    Документ12 страниц
    Timer 555
    Steve Fernandez Vilchez
    Оценок пока нет
  • Laboratorio 2
    Laboratorio 2
    Документ5 страниц
    Laboratorio 2
    Steve Fernandez Vilchez
    Оценок пока нет
  • Discografía completa de Dina Paucar, cantante peruana
    Discografía completa de Dina Paucar, cantante peruana
    Документ3 страницы
    Discografía completa de Dina Paucar, cantante peruana
    Steve Fernandez Vilchez
    Оценок пока нет
  • Fuente de Poder Switching 1
    Fuente de Poder Switching 1
    Документ106 страниц
    Fuente de Poder Switching 1
    Steve Fernandez Vilchez
    Оценок пока нет
  • Informe SIIPNE MOVIL 2 (Desarrollo)
    Informe SIIPNE MOVIL 2 (Desarrollo)
    Документ5 страниц
    Informe SIIPNE MOVIL 2 (Desarrollo)
    Jonathan Cuasquer
    Оценок пока нет
  • Breve Historia de Las GUIS
    Breve Historia de Las GUIS
    Документ8 страниц
    Breve Historia de Las GUIS
    Cristina Betzayana Garcia Ontaño
    Оценок пока нет
  • Ejercicios Patrones 2005
    Ejercicios Patrones 2005
    Документ10 страниц
    Ejercicios Patrones 2005
    Judith
    Оценок пока нет
  • Ce Ii Cap5 A Rpta Alta Frecuencia
    Ce Ii Cap5 A Rpta Alta Frecuencia
    Документ42 страницы
    Ce Ii Cap5 A Rpta Alta Frecuencia
    SANDRO XAVIER CCAMA SARA
    Оценок пока нет
  • Circuitos Secuenciales
    Circuitos Secuenciales
    Документ20 страниц
    Circuitos Secuenciales
    fer6669993
    Оценок пока нет
  • Mysql Mcgraw
    Mysql Mcgraw
    Документ40 страниц
    Mysql Mcgraw
    josedaguerrero
    Оценок пока нет
  • Entrega de Bienes
    Entrega de Bienes
    Документ3 страницы
    Entrega de Bienes
    AshlyLobatonCastillo
    Оценок пока нет
  • Semana 02 - Poo - 01
    Semana 02 - Poo - 01
    Документ8 страниц
    Semana 02 - Poo - 01
    ricardo
    Оценок пока нет
  • Componentes de Microprocesadores
    Componentes de Microprocesadores
    Документ3 страницы
    Componentes de Microprocesadores
    Estuardo Garcia
    Оценок пока нет
  • Apunte Condiciones de Link IBM 370
    Apunte Condiciones de Link IBM 370
    Документ17 страниц
    Apunte Condiciones de Link IBM 370
    SebasFIUBA
    Оценок пока нет
  • Tkinter - PPTX 1
    Tkinter - PPTX 1
    Документ46 страниц
    Tkinter - PPTX 1
    Ariel Fernando Herrera
    Оценок пока нет
  • Preinforme 2
    Preinforme 2
    Документ2 страницы
    Preinforme 2
    Jorge Andres Cardona Amortegui
    Оценок пока нет
  • Micro Onu User Manual
    Micro Onu User Manual
    Документ42 страницы
    Micro Onu User Manual
    daimer ortiz
    Оценок пока нет
  • 0300 - Ciclo de Vida
    0300 - Ciclo de Vida
    Документ30 страниц
    0300 - Ciclo de Vida
    daniela
    Оценок пока нет
  • Catálogo Octubre 2019
    Catálogo Octubre 2019
    Документ86 страниц
    Catálogo Octubre 2019
    Oscar Flores
    Оценок пока нет
  • An A Ascendent e
    An A Ascendent e
    Документ52 страницы
    An A Ascendent e
    Hector Villa
    Оценок пока нет
  • Troubleshooting Telefonia
    Troubleshooting Telefonia
    Документ28 страниц
    Troubleshooting Telefonia
    Mauricio Salazar
    Оценок пока нет
  • Inmotica Domotica
    Inmotica Domotica
    Документ14 страниц
    Inmotica Domotica
    Ever Guillen
    Оценок пока нет
  • CO FL 3.1 Guía de Potencia Wincor
    CO FL 3.1 Guía de Potencia Wincor
    Документ4 страницы
    CO FL 3.1 Guía de Potencia Wincor
    obaala1970
    Оценок пока нет
  • Diego
    Diego
    Документ8 страниц
    Diego
    DIEGO ALAN OLALDE CENTENO
    Оценок пока нет
  • Consulta 3
    Consulta 3
    Документ4 страницы
    Consulta 3
    Jordan Ivan Moreira Moreira
    Оценок пока нет
  • 0905 Opensat
    0905 Opensat
    Документ7 страниц
    0905 Opensat
    Alexander Wiese
    Оценок пока нет
  • Clonezilla - Manual de Uso Basico
    Clonezilla - Manual de Uso Basico
    Документ9 страниц
    Clonezilla - Manual de Uso Basico
    Erick Acevedo
    100% (1)
  • VoF SSL
    VoF SSL
    Документ12 страниц
    VoF SSL
    Luciana
    Оценок пока нет
  • Resume Nes
    Resume Nes
    Документ17 страниц
    Resume Nes
    Lombricomposta AGS
    Оценок пока нет
  • Sopa de Letras
    Sopa de Letras
    Документ2 страницы
    Sopa de Letras
    Víctor Díaz
    Оценок пока нет
  • Workflow Del Diseño Uml
    Workflow Del Diseño Uml
    Документ26 страниц
    Workflow Del Diseño Uml
    Alexis Ramirez
    Оценок пока нет
  • Ultra Star 10PL 3302
    Ultra Star 10PL 3302
    Документ3 страницы
    Ultra Star 10PL 3302
    Nicol Cr
    100% (1)
  • Transferencia Tecnológica SIEMENS EM - DG PE MILPO
    Transferencia Tecnológica SIEMENS EM - DG PE MILPO
    Документ14 страниц
    Transferencia Tecnológica SIEMENS EM - DG PE MILPO
    Luis Yucra
    Оценок пока нет
  • Actualice Su PC. Hagalo Usted Mismo
    Actualice Su PC. Hagalo Usted Mismo
    Документ308 страниц
    Actualice Su PC. Hagalo Usted Mismo
    FrancoDaniloRocaLandaveri
    Оценок пока нет