Действия на разные кнопки - Assembler

Узнай цену своей работы

Формулировка задачи:

Надо написать программку которая бы по нажатию кнопки 0 выводила бы А, по нажатию 1 выводила бы BB, по нажатию 2 выводила бы CCC и так далее до 9. Сообственно написал программу которая бы просто по нажатию выводила на кнопку 0 буквы, а вот как сделать чтобы она по нажатию 1 выводила дургое сообщение?
.model small              ;орпеделить модель вычислений
.stack 100h               ;определяем сегмент стека и задаём его, задаём размер
.data                     ;определяем сегмент данных
                                     
message1 db 'A', 0dh, 0ah, '$'  ;0-0Bh,1-02h,2-03h,9-0Ah
 
.code                     ;определяем сегмент кода
      mov ax,@data        ;инициализируем сегмент данных
      mov ds,ax           ;в DS заносим адрес начала сегмента данных
if_char:                  ;закр. метка
      mov ah,0h           ;вызов обработки клавиши
      int 16h             ;вызываем 16 прерывание функции 0h
      cmp al,0h
 
      cmp ah,0Bh          ;код клавиши '0'
jne strv                  ;метка: если нет то переходим по метке
      mov dx,offset message1  ;первая строка
      mov ah,9h               ;вывод строки на экран
      int 21h                 ;вызываем 21 прерывание
jmp if_char               ;метка: возврат
 
strv:                     ;закр. метка
      cmp al,4dh          ;код клавиши M
jne if_char               ;метка: если нет то переходим по метке
      mov ah,4ch          ;выход из программы
      int 21h             ;вызываем 21 прерывание
end                       ;конец

Решение задачи: «Действия на разные кнопки»

textual
Листинг программы
inkey:
mov ah, 0
int 16h
mov dx, offset text_0
cmp al, '0'
je print
mov dx, offset text_1
cmp al, '1'
je print
mov dx, offset text_2
cmp al, '2'
jne inkey
print:
mov ah, 9
int 21h
jmp inkey

Оцени полезность:

5   голосов , оценка 3.4 из 5
Похожие ответы