M5:
ADD AL, 12h
JMP M12
M6:
ADD AL, 1Bh
JMP M12
M7:
ADD AL, 24h
JMP M12
M8:
ADD AL, 2Dh
JMP M12
M9:
ADD AL, 36h
JMP M12
M10:
ADD AL, 3Fh
JMP M12
M11:
ADD AL, 48h
M12:
ADD DX, AX
XOR AX, AX
Klav3: ; 93Ch ; работа с третьим символом
IN AL, 03h ; считывание слова состояния ККД
AND AL,07h ; определение кол-ва символов в ОЗУ клав-ры
CMP AL, 3h ;ожидание ТРЕТЬЕГО символа
JNE Klav3 ; переход на Klav3, если в буфере трёх символов
MOV AL, 43h
OUT 03h, AL
IN AL, 02h ; чтение символа из ОЗУ клавиатуры
MOV BL, AL ; ПРЕОБРАЗОВАНИЕ РЕЗУЛЬТАТА В 16-РИЧНУЮ ФОРМУ
MOV BH, 00h
AND AL, 07h ; в AL – номер строки
AND BL, 38h ;3 в BL – номер столбца
MUL [DI+10H] ;3 номер строки умножается на 4
ADD BX, AX ; к результату добавляется номер столбца
ADD BX, 80Bh ;4 и адрес начала таблицы
MOV AL, [BX] ; по полученному адресу считывается число,
;96Ah соответствующее нажатой клавише
MOV AH,AL
SUB BX, 0Bh ;3 ПРЕОБРАЗОВАНИЕ СИМВОЛА В КОД
MOV AL, 93h ; команда для вывода символа на индикатор
OUT 03h, AL
MOV AL, AH
XOR AH, AH
ADD BX, AX
MOV AH, AL
MOV AL, [BX] ; считывание кода из таблицы
OUT 02h, AL ; вывод символа на индикатор
MOV AL, AH
XOR AH, AH
ADD DX,AX
MOV [DI+4], DX ;3заносим в ОЗУ напряжение
XOR AX,AX
XOR DX,DX
Klav4: ;998h ;работа с четвёртым числом
IN AL, 03h ; считывание слова состояния ККД
AND AL,07h ; определение кол-ва символов в ОЗУ клав-ры
CMP AL, 4h ;ожидание ЧЕТВЁРТОГО символа
JNE Klav4 ; переход на Klav4, если в буфере нет четырёх символов
MOV AL, 44h ; чтение символа из ОЗУ клавиатуры
OUT 03h, AL
IN AL, 02h
MOV BL, AL ; ПРЕОБРАЗОВАНИЕ РЕЗУЛЬТАТА В 16-РИЧНУЮ ФОРМУ
MOV BH, 00h
AND AL, 07h ; в AL – номер строки
AND BL, 38h ;3 в BL – номер столбца
MUL [DI+10h] ;3 номер строки умножается на 4
ADD BX, AX ; к результату добавляется номер столбца
ADD BX, 80Bh ;4 и адрес начала таблицы
MOV AL, [BX] ; по полученному адресу считывается число,
; соответствующее нажатой клавише
CMP AL, 1h
JA Res ; если больше то на Res
MOV AH, AL
SUB BX, 0Bh ;3 ПР-НИЕ СИМВОЛА В КОД
MOV AL, 94h ; команда для вывода символа на индикатор
OUT 03h, AL
MOV AL, AH
XOR AH, AH
ADD BX, AX
MOV AL, [BX] ; считывание кода из таблицы
OUT 02h, AL ; вывод символа на индикатор
MOV AL, AH
CMP AL,0h
JE M13
ADD AL,63h
JMP M14
M13:
ADD AL,0h
M14:
MOV DX,AL
XOR AX,AX
Klav5: ;A05h ; работа с пятым символом
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.