Вывод названия функциональных клавиш, которые нажаты - Assembler
Формулировка задачи:
я делаю лабку, где нужно выводить название клавиши которую нажали, она еще недодалана, но там есть проблемка которую я не понимаю, когда нажимаю кнопку, которую уже прописал, выводиться она и все строки, что инициализированая после строки, что я вывожу
.model tiny .code data segment mesH db'Home',10,13,'$' mesE db 'End',10,13,'$' mesEnt db 'Enter',10,13,'$' mesD db 'Del',10,13,'$' mesIn db 'Insert',10,13,'$' mesPU db 'PgUp',10,13,'$' mesPD db 'PgDn',10,13,'$' eror db 'enter symbol is not functional!', 10, 13, '$' kod db ? data ends code segment assume cs:code, ds:data begin: mov ax,data mov ds,ax mov ax,2h int 10h enterSymbol: mov ah,00 int 16h cmp al,00 jne erorSymbol cmp ah, 49h jne cont0 call mesPgUp jmp enterSymbol cont0: cmp ah, 51h jne cont1 call mesPgDn jmp enterSymbol cont1: cmp ah, 52h jne cont2 call mesInsert jmp enterSymbol cont2: cmp ah, 53h jne cont3 call mesDel jmp enterSymbol cont3: cmp ah, 47h call mesHome jmp exit1 exit1: mov ax,4c00h int 21h proc mesHome mov ah,9 lea dx,mesH int 21h mesHome endp proc mesEnd mov ah,9 lea dx,mesE int 21h mesEnd endp proc mesEnter mov ah, 9 lea dx, mesEnt int 21h mesEnter endp proc mesDel mov ah, 9 lea dx, mesD int 21h mesDel endp proc mesInsert mov ah, 9 lea dx, mesIn int 21h mesInsert endp proc mesPgUp mov ah, 9 lea dx, mesPU int 21h mesPgUp endp proc mesPgDn mov ah, 9 lea dx, mesPD int 21h mesPgDn endp erorSymbol: mov ah, 9 lea dx, eror int 21h jmp enterSymbol code ends end begin
Решение задачи: «Вывод названия функциональных клавиш, которые нажаты»
textual
Листинг программы
;...... cont0: cmp ah, 51h jne cont1 lea dx,mesPgDn call Print jmp enterSymbol ;....... proc Message mov ah,9 int 21h ret Message endp
Объяснение кода листинга программы
Код выполняет проверку, является ли нажатая клавиша '51h' (функциональная клавиша F5). Если это так, то выводится сообщение mesPgDn
(подразумевается, что это строка, помеченная как mesPgDn
в ресурсах программы). Затем происходит переход к следующей функциональной клавише. Если это не '51h', то происходит переход к процедуре обработки сообщения. В этой процедуре происходит вывод сообщения, после чего возвращается управление в основную программу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д