|
INT 16h, AN = 1, 11h, 21h
|
bet | 22/64 | Sana | 13.05.2024 | Hajmi | 183,36 Kb. | | #230077 |
Bog'liq Системное программирование, практикаINT 16h, AN = 1, 11h, 21h - Belgilarni tekshirish
Kiritish:
|
AN = 01 soat (83/84 tugma), 11 soat (101/102 kalit), 21 soat (122 kalit)
|
Xulosa:
|
Agar bufer bo'sh bo'lsa, ZF = 1
ZF = 0, agar buferda belgi mavjud bo'lsa, bu holda
AL = ASCII belgilar kodi, 0 yoki skanerlash kodi prefiksi
AH = bosilgan yoki kengaytirilgan ASCII kodining skanerlash kodi
|
01h funktsiyasini qayta ishlashda belgini buferdan olib tashlaydi, agar u 84 tugmachali klaviaturalarda topilmagan kengaytirilgan ASCII kodiga mos kelsa.
INT 16h, AH = 05h - klaviatura buferiga belgi qo'ying
Kiritish:
|
AN = 05 soat
CH = skanerlash kodi
CL = ASCII kodi
|
Xulosa:
|
Agar operatsiya muvaffaqiyatli bo'lsa, AL = 00
Klaviatura buferi to'lgan bo'lsa, AL = 01h
AH ko'p BIOS tomonidan o'zgartiriladi
|
buferdan o'qiladigan funksiya ASCII kodidan foydalansa, CH da skanerlash kodi o'rniga 0 qo'yishingiz mumkin .
Masalan, quyidagi dastur, DOS dan ishga tushirilganda, DIR buyrug'ini chaqiradi (lekin ba'zi qobiqlardan, masalan, FARdan ishga tushirilganda, bu sodir bo'lmaydi).
6-jadval - 1.1-misol
|
.model kichkina
|
; kod, ma'lumotlar va stek segmentlari birlashtirilgan xotira modeli.
|
|
.kod
|
; ma'lumotlarni o'z ichiga olgan kod segmenti.
|
|
org 100h
|
; COM faylining boshlanishi
|
|
boshlanishi :
|
; dastur kodini boshlash belgisi
|
|
|
|
| |