|
Tizimli dasturlash
|
bet | 8/64 | Sana | 13.05.2024 | Hajmi | 183,36 Kb. | | #230077 |
Bog'liq Системное программирование, практикаInt21 , funktsiya) bajarilgandan so'ng to'xtatiladi. ah = 1) klaviaturadan ekranga belgi kiritish orqali. T.D. sizni derazadan uzoqlashtiradi CPU foydalanuvchi oynasiga O'zgaruvchan so'rov xabari paydo bo'ladigan foydalanuvchi ekrani Promt. Ushbu so'rovga javob berish orqali (katta yoki kichik harflar: Y yoki y ), siz avtomatik ravishda oynaga qaytarilasiz C PU , dasturning buyruq bo'yicha keyingi bajarilishi uchun. Agar kerak bo'lsa, foydalanuvchi oynasiga o'ting T.D. va aksincha, < Alt+F5 > tugmalarini bosish orqali amalga oshirilishi mumkin. Agar siz ushbu klaviatura yorlig'ini unutgan bo'lsangiz, oynani boshqarish menyusiga murojaat qiling Oyna , chiziqni toping Foydalanuvchi ekrani allaqachon aytib o'tilgan kalitlar bilan. Aytgancha, ushbu qator ostida siz ochgan barcha oynalar ro'yxati bo'ladi. TD , xususan:
Modul Salom (1)
CPU (2)
Inspektor (3)
Siz ochgan istalgan oynaga < Alt+oyna raqami > tugmalarini bosish yoki tugmasi yordamida ketma-ket qidirish orqali qo'ng'iroq qilishingiz mumkin . Agar siz keyingi safar ishlaganingizda ushbu oyna tartibini tuzatmoqchi bo'lsangiz TD , keyin menyuga kiring Variantlar (variantlar), buyruq tugmasini tanlang Layot (oyna diagrammasi). Ushbu sxema yordamchi dastur tomonidan qayd etiladi Tdconfig.dt . Menyuda bo'lganimiz uchun Variantlar Bu erda yana bir foydali Displey imkoniyatlari buyrug'ini ko'rsatamiz (chiqish parametrlari). Qalqib chiquvchi ekran pardasi Displey almashish (ekranni almashtirish) ekranlar o'rtasida almashishni boshqarishning uchta usulidan birini tanlash imkonini beradi T.D. va foydalanuvchi ekrani. Standart Smart (samarali) bu foydalanuvchi ekraniga o'tish imkonini beradi Foydalanuvchi ekrani dastur talabiga binoan avtomatik ravishda (biz buni dastur talabi bajarilganda kuzatdik Salom bitta belgi kiritish operatsiyalari).
Keling, yana derazaga qaytaylik CPU dastur bilan ishlashni tugatish uchun Salom . tugmachasi yordamida yorliqli buyruqqa joriy buyruqning bajarilish belgisini keltiramiz Chiqish (dasturdan chiqish uchun DOS funksiya raqami 4Ch chaqiriladi) va < Alt+F5 > tugmalarini bosish orqali biz foydalanuvchi ekranida dasturning u bilan bo‘lgan muloqotimizga javobini ko‘ramiz. Agar siz dasturning bajarilishini takrorlashni xohlasangiz, uni < Ctrl + F2 > tugmachalarini yoki menyu buyrug'ini bosish orqali ixtiyoriy buyruqdan qayta yuklash mumkin. Ishga tushirish = Dastur Qayta o'rnatish (dasturni qayta tiklash). Bunday holda, dastur diskdan yana yuklanadi va T.D. asl imkoniyatlarini tiklaydi. Agar siz derazada bo'lsangiz CPU yoki modul , keyin displey dasturingizning boshiga qaytishni ko'rsatmaydi - buning uchun tugmasini bosing .
Tuzatish vositasi bilan ishlashning qisqacha tavsifini yakunlash TD , biz bu erda dasturni bajarishning mumkin bo'lgan rejimlarini sanab o'tamiz T.D
Avtomatik bajarish rejimi, kalit F9 (Yugurish).
Bosqichlarda bajarish (tugmalar F8 yoki F7 - ga o'tish ). Ushbu kalitlarning maqsadidagi farq shundaki, kalit F7 tsikl, protsedura yoki uzilish tartibining tanasini bosqichma-bosqich bajarish uchun ishlatiladi. Asosiysi F8 bu protseduralarni bitta oddiy buyruq sifatida bajaradi va boshqaruvni dasturning keyingi buyrug'iga o'tkazadi.
Kursorning joriy holatiga bajaring. Ushbu rejimni faollashtirish uchun siz kursorni dasturning kerakli qatoriga qo'yishingiz kerak (chiziq boshqa rangda ta'kidlanadi) va tugmachani bosing. F4 .
To'xtash nuqtalari bilan bajarish . Dasturni bajarishdan oldin siz ushbu nuqtalarni o'rnatishingiz kerak, buning uchun dasturning kerakli qatoriga o'ting va tugmani bosing. F2 ( o'chirish ). Boshqarish nuqtasi bo'lgan tanlangan chiziq qizil rang bilan ta'kidlangan. Tekshirish nuqtasini olib tashlash uchun ushbu amalni yana takrorlashingiz kerak. To'xtash nuqtalarini o'rnatgandan so'ng, dastur kalit bilan bajarish uchun ishga tushiriladi F9 . Birinchi tugmani bosgandan so'ng F9 dasturi birinchi to'xtash nuqtasida to'xtaydi, ikkinchisidan keyin - ikkinchi to'xtash nuqtasida va hokazo. Bu muayyan xarakterli nuqtalarda uning bajarilishining to'g'riligini nazorat qilish zarur bo'lganda dasturni disk raskadrovka qilish uchun juda qulay rejim.
Nosozliklarni tuzatuvchidan chiqish uchun buyruqdan foydalaning Fayl = Chiqish yoki < Alt+X > tugmalari yordamida. T.D. ko'plab boshqa xususiyatlarga ega bo'lib, ushbu ishning A.1.2-ilovasida keltirilgan demo dasturlarni o'rganayotganda ularni mustaqil ravishda o'rganishga taklif qilinadi.
MOSHINA KO'RSATMALARI FORMATLARI VA ULARNI KODLASH
Protsessor buyruqlarining umumiy formati (i80386 modelidan boshlab) 1-rasmda ko'rsatilgan. Buyruqlar ixtiyoriy prefikslardan, operatsiya kodining bir yoki ikki baytidan, manzil ko'rsatgichlaridan (postbayt va bayt) iborat. sib ), ko'rsatmalar ichidagi ofset (Silinish) va to'g'ridan-to'g'ri ma'lumotlar. Inglizcha qisqartmalar quyidagilarni anglatadi: Baza - baza, Mode - rejim, Ro'yxatdan o'tish/xotira - ro'yxatga olish / xotira, Masshtab - masshtab, Indeks - indeks. Barcha buyruq maydonlaridan faqat bitta yoki ikki bayt opcode talab qilinadi.
Prefiks - bu undan keyingi ko'rsatmaning ishlashini o'zgartiradigan bayt. Ikki operand va manzil o'lchamini almashtirish prefiksi (mos ravishda 66h va 67h kodlari) standart 16-bit operand va samarali manzil o'lchamlarini real rejimda o'zgartirishga imkon beradi. EA ( Effektiv manzil ) 32-bitgacha. Bu erda shuni ta'kidlash kerakki, mashina ko'rsatmasini yig'ishda Tasm yo'riqnomaning mnemonik kodida 32 bitli operand yoki 32 bitli xotira ma'lumotnomasini aniqlasa, tegishli prefiksni avtomatik ravishda kiritadi.
1-rasm -. Eski protsessor modellari uchun umumiy buyruq formati
Haqiqiy rejimda ham 16-bitli xotira manzillash rejimi (asosiy i8086 protsessorida mumkin bo'lgan yagona) va 32-bitli rejimdan foydalanish mumkin. Biroq, haqiqiy rejimda har qanday segmentning o'lchami 2 16 bilan cheklanganligini hisobga olsak = 64 KB, 32 bitli so'zdagi manzil qiymati FFFFh qiymatidan oshmasligi kerak.
Xotirada 16-BIT OPERAND MANZIL REJIMI
Mov.asm, Arithmet.asm, Logiecal.asm, LoopCall.asm ) tuzilgan va Jadvalda. Ilovaning 1.1_1-bandi 1.1-band. mnemonik kod bilan tashkil etilgan buyruqlar tizimi, mashina kodlari va har bir assembler buyrug'i uchun bajarilayotgan operatsiya mazmuni ko'rsatiladi.
Funksionalligiga ko'ra buyruqlar tizimi 6 guruhga bo'linadi: ma'lumotlarni uzatish, arifmetik amallar, mantiqiy operatsiyalar va siljishlar, boshqaruvni uzatish, zanjirlarni qayta ishlash va mikroprotsessorlarni boshqarish. Ushbu paragrafda biz ko'rib chiqamiz mashina buyruq kodlarini yaratish bir yoki ikkita operandga murojaat qila oladigan va tizimli ravishda 1.6-rasmda ko'rsatilgan uchta standart formatdan biriga tegishli bo'lgan protsessorlar.
Mashina buyruq formatlari buyruq turiga va adreslash usuliga qarab 1 dan 6 baytgacha bo'lgan hajmni o'z ichiga oladi, ulardan asosiylari birinchi (operatsiya kodi) va ikkinchisi (adreslash usuli). Rasmdagi kesilgan chiziqlar. 1-rasmda ixtiyoriy buyruq baytlari ko'rsatilgan. Keling, ikkita operandli buyruqning eng umumiy shakli misolida alohida buyruq baytlarining maydonlarini kodlash tamoyillarini ko'rib chiqaylik.
2-rasm - Odatda ko'rsatmalar formatlari:
ikkita operandli ko'rsatmalar (a) va (b) va bitta operandli (c)
w (so'z) – operand turini aniqlovchi bir bitli maydon: qachon w = 1 buyruq so'zlar bilan ishlaydi va qachon w = 0 – bayt;
· d (yo'nalish) - operand yoki natijani uzatish yo'nalishini belgilaydigan bir bitli maydon. Da d = 1 operand maydon tomonidan belgilangan registrga o'tkaziladi reg ikkinchi baytda, bilan d = 0 – ko‘rsatilgan registrdan o‘tkazish;
· reg (Ro'yxatdan o'tish) - 3-bitli registr maydoni, ikkinchisining maqsadini shartli ravishda belgilash operand;
r / m (Ro‘yxatdan o‘tish/xotira) – Xotirada yoki registrda bo'lishi mumkin bo'lgan va shartli ravishda ko'rib chiqiladigan 3 bitli operand maydoni birinchi ;
md (Rejim) - maydonni qanday izohlash kerakligini ko'rsatadigan 2 bitli maydon (1.2-jadval). r/m samarali manzilni topishda E.A. birinchi operand: Agar md = 11, keyin operand registrda, boshqa hollarda - xotirada joylashgan.
Jadval 1 - samarali manzilni aniqlash
|
| |