|
Tizimli dasturlash
|
bet | 21/64 | Sana | 13.05.2024 | Hajmi | 183,36 Kb. | | #230077 |
Bog'liq Системное программирование, практикаAmalga oshirish tartibi:
1. Nazariy materialni o‘rganish.
2.Dastur tuzing.
3. Hisobot tuzing.
Nazorat savollari:
1. * kabi fayllarning tuzilishi. exe ?
2. * ning tarkibiy farqlari. exe dan *. com DOS operatsion muhitida ?
3. Qo'shish buyrug'ining asosiy maqsadi?
pastki buyruq asosiy maqsad?
Inc buyrug'i asosiy maqsad?
6. Dec buyrug'ining asosiy maqsadi nima ?
5-jadval - Hisoblash formulalari
Yo'q.
var.
|
Hisoblash formulasi
|
B
|
C
|
D
|
|
A=B+CD
|
1
|
35
|
23
|
|
A=B+C + D
|
65
|
1
|
1
|
|
A=CD + B
|
1
|
33
|
1
|
|
A=D+AB
|
18
|
1
|
88
|
|
A=B-C+D
|
45
|
10
|
1
|
O'qituvchi bilan kelishilgan holda siz hisoblash formulasini ham, koeffitsientlarning qiymatlarini ham o'zgartirishingiz mumkin ( B , C , D ).
Tavsiya etilgan o'qish: 1.3.
5- son LABORATORIYA ISHI
Mavzu: klaviaturani ISHLATISH BUYRUQLARI
Ishning maqsadi : ma'lumotlarni o'qish va klaviatura va protseduralarni boshqarish uchun buyruqlar bilan ishlash ko'nikmalarini rivojlantirish .
Ishlash vaqti 2 soat
Nazariy material
Displey chiqishida bo'lgani kabi, BIOS ma'lumotlarni o'qish va klaviaturani boshqarish uchun DOS-ga qaraganda ko'proq imkoniyatlarni taqdim etadi. Masalan, DOS funktsiyalari Ctrl-Alt-Enter kabi tugmalar birikmalarining bosilishi yoki ikkita Shift tugmachalarining bir vaqtning o'zida bosilishini aniqlay olmaydi, DOS bosilgan tugma bo'shatilgan vaqtni aniqlay olmaydi va nihoyat, DOS-da uning analogi yo'q. C funksiyasining ungetch(), u belgini klaviatura buferiga foydalanuvchi kiritgandek joylashtiradi. Bularning barchasi turli xil 16 soatlik uzilish funktsiyalari va klaviatura holati baytlarini boshqarish yordamida amalga oshirilishi mumkin.
INT 16h, AH = 0, 10h, 20h — Belgini kutish bilan oʻqing
Kiritish:
|
AN = 00 soat (83/84 tugma), 10 soat (101/102 kalit), 20 soat (122 kalit)
|
Xulosa:
|
AL = ASCII belgilar kodi, 0 yoki skanerlash kodi prefiksi
AH = bosilgan yoki kengaytirilgan ASCII kodining skanerlash kodi
|
Klaviaturadagi har bir tugma faqat ushbu tugmachaga mos keladigan skanerlash kodiga mos keladi (1-ilovaga qarang). Ushbu kod har gal tugma bosilganda va qo'yib yuborilganda klaviatura tomonidan yuboriladi va BIOS tomonidan qayta ishlanadi ( INT 9 uzilish ishlov beruvchisi ). Interrupt 1 6h ushbu ishlov beruvchini ushlab turmasdan bosish kodini olish imkonini beradi. Agar bosilgan tugma ASCII belgisiga to'g'ri kelsa, bu belgining kodi AN ga, kalitning skanerlash kodi esa AL ga qaytariladi. Agar bosilgan tugma kengaytirilgan ASCII kodiga mos kelsa, skanerlash kodi prefiksi AL ga (masalan, kulrang tugmalar uchun E0) yoki prefiks bo'lmasa 0 ga qaytariladi va kengaytirilgan ASCII kodi AN ga qaytariladi . 00H funktsiyasi faqat 84 tugmachali klaviatura tugmalari yordamida kombinatsiyalarni qayta ishlaydi, l0h barcha 101 - 105 tugmalar birikmalarini, 20h - 122 tugmalar birikmalarini qayta ishlaydi. Klaviatura turini 16h uzilishning 09h funksiyasi yordamida aniqlash mumkin , agar u BIOS tomonidan qo'llab-quvvatlansa (bu funktsiyani qo'llab-quvvatlayaptimi yoki yo'qligini 15h uzilishning C0h funksiyasi yordamida aniqlash mumkin ).
|
| |