• ZF = 1 ZF
  • .model kichkina
  • INT 16h, AN = 1, 11h, 21h




    Download 183,36 Kb.
    bet22/64
    Sana13.05.2024
    Hajmi183,36 Kb.
    #230077
    1   ...   18   19   20   21   22   23   24   25   ...   64
    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



    Download 183,36 Kb.
    1   ...   18   19   20   21   22   23   24   25   ...   64




    Download 183,36 Kb.