Ejercicios resueltos de gestión de teclado y display uP-2000

En este artículo se muestra la solución a ejercicios relacionados con la gestión de teclado y display de un sistema uP-2000 para un microprocesador Intel 8085.

Sistema uP-2000 Sistema uP-2000

Ejercicio 1: Escribir un programa utilizando el lenguaje ensamblador del microprocesador 8085 que presente en el campo de datos la última tecla pulsada, y en el de direcciones, la suma acumulada de los códigos de las teclas pulsadas hasta el momento (p.e. la tecla A tiene código 0Ah). El carácter de escape (finalización del programa) será “EJEC”, con código asociado 10H.

Solución:

ORG 1000H 
MVI A,04H   
SIM
LXI SP, 2000H
MVI H,00H 
MVI L, 00H
MVI B, 00H  

BUCLE:
    PUSH H
    PUSH B
    CALL 044EH
    POP B
    POP H
    CPI 10H
    JZ SALIDA
    MOV B,A
    MOV A, L
    ADD B
    MOV L, A
    JNC NOCARRY
        INR H
NOCARRY: 
MOV A, B
PUSH H
PUSH B
CALL 04D5H
POP B
POP H
PUSH H
PUSH B
CALL 04C9H
POP B
POP H

JMP BUCLE

SALIDA:
END

Ejercicio 2: Escribir un programa utilizando el lenguaje ensamblador del microprocesador 8085 que presente en el campo de datos la última tecla pulsada, y en el de direcciones, la suma acumulada de las teclas con código asociado par pulsadas hasta el momento. El carácter de escape (finalización del programa) será “EJEC”, con código asociado 10H.

Solución:

ORG 1000H 
MVI A,04H   
SIM
LXI SP, 2000H
MVI H,00H 
MVI L, 00H
MVI B, 00H  

BUCLE:
    PUSH H
    PUSH B
    CALL 044EH
    POP B
    POP H
    CPI 10H
    JZ SALIDA
    MOV B,A

    RESTAMOS:
    SUI 02H
    CPI 01H
    JZ MOSTRAR
    CPI 00H
    JNZ RESTAMOS
MOV A,L
ADD B
MOV L,A

    JNC NOCARRY
        INR H
    NOCARRY: 
MOSTRAR:
MOV A,B
PUSH H
PUSH B
CALL 04D5H
POP B
POP H
PUSH H
PUSH B
CALL 04C9H

POP B
POP H
JMP BUCLE
SALIDA:
RST1
END 

    MOV A, L
    ADD B
    MOV L, A
    JNC NOCARRY
        INR H
NOCARRY: 
MOV A, B
PUSH H
PUSH B
CALL 04D5H
POP B
POP H
PUSH H
PUSH B
CALL 04C9H
POP B
POP H

JMP BUCLE

SALIDA:
END

Ejercicio 3: Escribir un programa utilizando el lenguaje ensamblador del microprocesador 8085 que presente en el campo de datos la última tecla pulsada, y en el de direcciones, la suma acumulada de las teclas con código asociado impar pulsadas hasta el momento. El carácter de escape (finalización del programa) será “EJEC”, con código asociado 10H.

Solución:

ORG 1000H 
MVI A,04H   
SIM
LXI SP, 2000H
MVI H,00H 
MVI L, 00H
MVI B, 00H  

BUCLE:
    PUSH H
    PUSH B
    CALL 044EH
    POP B
    POP H
    CPI 10H
    JZ SALIDA
    MOV B,A

    RESTAMOS:
    SUI 02H
    CPI 00H
    JZ MOSTRAR
    CPI 01H
    JNZ RESTAMOS
MOV A,L
ADD B
MOV L,A

    JNC NOCARRY
        INR H
    NOCARRY: 
MOSTRAR:
MOV A,B
PUSH H
PUSH B
CALL 04D5H
POP B
POP H
PUSH H
PUSH B
CALL 04C9H

POP B
POP H
JMP BUCLE
SALIDA:
RST1
END 

    MOV A, L
    ADD B
    MOV L, A
    JNC NOCARRY
        INR H
NOCARRY: 
MOV A, B
PUSH H
PUSH B
CALL 04D5H
POP B
POP H
PUSH H
PUSH B
CALL 04C9H
POP B
POP H

JMP BUCLE

SALIDA:
END

Ejercicio 4: Escribir un programa utilizando el lenguaje ensamblador del microprocesador 8085 que presente en el campo de datos la última tecla pulsada, y en el de direcciones, la suma acumulada del número de veces que se han pulsado hasta el momento las teclas cuyo código asociado sea mayor o igual que 05H. El carácter de escape (finalización del programa) será “EJEC”, con código asociado 10H.

Solución:

ORG 1000H 
MVI A,08H   
SIM
LXI SP, 2000H
MVI H,00H 
MVI L, 00H
MVI B, 00H  

BUCLE:
    PUSH H
    PUSH B
    CALL 044EH
    POP B
    POP H
    CPI 10H
    JZ SALIDA
    MOV B,A
    PUSH H
    PUSH B
    MOV B,A
    CALL 04D5H
    POP B
    POP H
    MOV A,B
    CPI 05H
    JC MENOR
    INR L
    MOV B,A
    PUSH H
    PUSH B
    CALL 04C9H
    POP B   
    POP H
    MENOR:
JMP BUCLE
SALIDA:
RST1
END

📊 Create a modern CV
Create a modern CV

Create a modern CV to impress recruiters