Вывод названия функциональных клавиш, которые нажаты - 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', то происходит переход к процедуре обработки сообщения. В этой процедуре происходит вывод сообщения, после чего возвращается управление в основную программу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д