ñòðåëêà ââåðõ" èìååò êîä
000A B8 ---- R MOV AX,VIDEO ; Àäðåñ ñåãìåíòà VIDEO
000D 8E C0 MOV ES,AX
Ôèã. 6.12 Ðàñïîëîæåíèå ñåãìåíòà (íà÷àëî)
ASSUME ES:VIDEO
000F DISPLAY_CAPS:
000F B0 18 MOV AL,18H ; Ñèìâîë " ñòðåëêà ââåðõ" èìååò êîä 18H
0011 F6 06 0017 R 40 TEST KB_FLAG,CAPS_STATE ; Îïðåäåëåíèå ñîñòîÿíèÿ êëàâèøè CAPS
0016 75 02 JNZ CAPS_LOCK
0018 B0 19 MOV AL,19H ; Ñèìâîë "ñòðåëêà âíèç" èìååò êîä 19H
001A CAPS_LOCK:
001A 26: A2 009E R MOV INDICATOR,AL ; Âûâîä â âåðõíèé ëåâûé óãîë ýêðàíà
001E B4 06 MOV AH,6 ; Ôóíêöèÿ ÄÎÑ ââîäà ñ êëàâèàòóðû
; è âûâîäà íà äèñïëåé
0020 B2 FF MOV DL,0FFH ; Íàïðàâëåíèå - ââîä ñ êëàâèàòóðû
0022 CD 21 INT 21H
0024 3C 00 CMP AL,0 ; Ïðîâåðêà íà íàëè÷èå ñèìâîëà
0026 74 E7 JZ DISPLAY_CAPS ; Íåò ñèìâîëà
0028 3C 25 CMP AL,'%' ; Ïðîâåðêà íà ñèìâîë êîíöà
002A 74 08 JE RETURN
002C B4 02 MOV AH,2 ; Ôóíêöèÿ âûâîäà íà äèñïëåé
002E 8A D0 MOV DL,AL ; Âûâîäèìûé ñèìâîë
0030 CD 21 INT 21H
0032 EB DB JMP DISPLAY_CAPS ; Ïîâòîðåíèå
0034 RETURN:
0034 CB RET ; Âîçâðàò â ÄÎÑ
Ñîäåðæàíèå Íàçàä Âïåðåä