МПС - определить скан-коды клавиш К11, К12, К14, К18 матричной клавиатуры 8х8 - Assembler
Формулировка задачи:
Как определить скан-коды клавиш К11, К12, К14, К18 матричной клавиатуры 8х8.
Решение задачи: «МПС - определить скан-коды клавиш К11, К12, К14, К18 матричной клавиатуры 8х8»
textual
Листинг программы
.model tiny .code org 100h start: jmp work Old_i15 dw 0,0 Str_ db 0h,0h pushall proc near jmp pushwrk Save dw 0, 0 pushwrk: pop [Save] pop [Save +2] push ax push bx push cx push dx push ds push es push si push di push bp push [Save +2] push [Save] ret pushall endp popall proc near jmp popwrk Rest dw 0, 0 popwrk: pop [Rest] pop [Rest +2] pop bp pop di pop si pop es pop ds pop dx pop cx pop bx pop ax push [Rest +2] push [Rest] ret popall endp get proc near mov ah, al mov cl, 4 shr ah, cl and al, 0Fh add ah, 30h cmp ah, 3Ah jl prd_1 add ah, 7h prd_1: mov [cs:Str_], ah add al, 30h cmp al, 3Ah jl prd_2 add al, 7h prd_2: mov [cs:Str_ +1], al ret get endp write proc near mov ah, 0fh int 10h push cs pop es mov bp, offset Str_ mov cx, 2 mov dx, 0000h mov bl, 70h mov ax, 1300h int 10h ret write endp New_i15: call pushall call get call write call popall iret work: push cs pop ds mov ax, 3515h int 21h mov [Old_i15], bx mov [Old_i15 +2], es mov dx, offset New_i15 mov ax, 2515h int 21h mov dx, offset work int 27h end start
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д