Kompyuter injiniringi fakulteti «Dasturiy injiniring»
Download 2.48 Mb.
|
1 2
Bog'liqXK696JsVW74wRJP0Riz0E6urgGMEmEEr
- Bu sahifa navigatsiya:
- Dastur kodi Dastur natijasi
- Dastur kodi: Dastur natijasi
- Dastur kodi: Dastur natijasi
- Dastur kodi: Dastur natijasi: 6-masala.
- Dastur 100 7-masala.
- Dastur natijasi: Bu dastur sonni manfiy emaslikka tekshiradi. Agar son manfiy bo’lsa u bu sonning neg ya’ni musbat qiymatini, aks holda o’zini qaytaradi: 8-masala.
- RAM xotirasi (Random Access Memory)
- 10-masala.
nishon:
buyruq_1 ... buyruq_n Bu yerda buyruq_1 ning foydali manziliga nishon ko’rsatkichi olib kelinadi. Dasturning xohlagan yeridan tarmoqlash buyruqlariga shu foydali manzilni, ya’ni nishon nomini bergan holda buyruq_1 ni bajarishga o’tishimiz mumkin. Topshiriq 1. Butun turdagi a,b,c ( 0≤a,b,c≤255 ) o’zgaruvchilari berilgan. Ularning yig’indisini hisoblovchi dastur tuzilsin.
Dastur kodi Dastur natijasi: 2. Butun turdagi a,b,c (0≤a,b,c≤216-1) o’zgaruvchilari berilgan. S=a+b-c ifodaning qiymatini hisoblovchi dastur tuzilsin.
Dastur kodi: Dastur natijasi: 3. Butun turdagi a,b (0≤a,b≤28-1) o’zgaruvchilari berilgan. Bu o’zgaruvchilarning qiymatlarini o’zaro almashtiruvchi dastur tuzilsin. Dastur kodi saqlanadigan fayl swap.asm deb nomlansin. (20%).
Dastur kodi: Dastur natijasi: 4. Butun turdagi a,b (0≤a,b≤28-1) o’zgaruvchilari berilgan. Yordamchi o’zgaruvchi kiritish usulidan foydalanmasdan faqat qo’shish va ayirish amallari yordamida bu o’zgaruvchilarning qiymatlarini o’zaro almashtiruvchi dastur tuzilsin. Dastur kodi saqlanadigan fayl swap2.asm deb nomlansin.
Dastur kodi: Dastur natijasi: 5. Butun turdagi a,b,c (0≤a,b,c≤232-1) o’zgaruvchilari berilgan. S=a-(b+c) ifodaning qiymatini hisoblovchi dastur tuzilsin.
Dastur kodi: Dastur natijasi: 6-masala. Quyida assembler tilida berilgan dastur kodini C++ tiliga o’giring. %include"d:\nasm-io.inc" section .bss x resd 1 section .data y dd 100 a dd 0 b dd 1 section .text global _main _main: mov eax,[y] cmp eax,0 jle aa chop_et '%i',[b] jmp tamom aa: chop_et '%i',[a] tamom: ret Dastur 100<=0 ni tekshiradi. Va shartni qanoatlantirmagani uchun b ni ekranga chiqaradi: 7-masala.Quyida assembler tilida berilgan kodni ishlash natijaisni ko’rsating. Bu dastur qanday masalani hal etadi? %include "d:\nasm-io.inc" section .bss x resd 1 section .text global _main _main: qabul_qil '%i',x mov eax,[x] cmp eax,0 jge s neg eax chop_et '%i',eax jmp tamom s: chop_et '%i',eax tamom: ret Dastur natijasi: Bu dastur sonni manfiy emaslikka tekshiradi. Agar son manfiy bo’lsa u bu sonning neg ya’ni musbat qiymatini, aks holda o’zini qaytaradi: 8-masala. Quyida C++ tilida dastur qismi berilgan. Shu dastur qismiga mos assembler dastur kodini keltiring. short int a=10; int b=20,c; c=a+b Dastur kodi: Dastur natijasi: 9-masala. Ushbu chizmani izohlab bering. ax, al va eax registrlari x86 arxitekturasida umumiy maqsadli registrlardir. Balta registr 16 bitli registr bo'lib, uni ikkita 8 bitli registrga bo'lish mumkin: al va ah. eax registr 32 bitli registr bo'lib, uni ikkita 16 bitli registrga bo'lish mumkin: ax va bx. Barcha registridan operatsiyalar natijalarini saqlash uchun, al va ah registrlari esa mos ravishda bolta registrining past va yuqori baytlarini saqlash uchun ishlatiladi. eax registridan qo'shish, ayirish, ko'paytirish va bo'lish kabi 32 bitli qiymatlarni qaytaruvchi amallar natijalarini saqlash uchun foydalaniladi. Assembler dasturlashda, registr xotirasi (registry) va RAM xotirasi (Random Access Memory) o'rnatilgan ma'lumotlarni saqlash va amalga oshirishda foydalaniladigan ikkala turdagi xotiralar hisoblanadi. Ularning foydalanish tartibi va xususiyatlari quyidagicha: Registr xotirasi (registry): Registr xotirasi, kompyuterning tizimiga tegishli mahsulotdagi o'zgaruvchilarni saqlash uchun ishlatiladi. Bu xotira turining xususiyatlari quyidagicha: Tezlik: Registr xotirasi kompyuter tizimining o'zida joylashgan, shuning uchun o'qish va yozish tezligi RAM xotirasidan tezroq bo'ladi. Bu tizimning faoliyatini tezlashtiradi. Miqdori: Registr xotirasi tizimning ichida joylashgan ma'lumotlarni saqlash uchun xususiy joy miqdorini ta'minlaydi. Tizimga bog'liq o'zgaruvchilar soniga va turiiga qarab belgilangan. Maxsuslik: Har bir registrga tizimda alohida o'zgaruvchi yoki axborot segmenti bog'liq bo'lishi mumkin. Bu registr xotiralarida mahsulotlarning maxsusliklari va ishlash tartiblari belgilanadi. RAM xotirasi (Random Access Memory): RAM xotirasi, dastur tomonidan amalga oshiriladigan buyruqlar va ma'lumotlarni saqlash uchun foydalaniladi. Bu xotira turining xususiyatlari quyidagicha Ketrinlik: RAM xotirasi dastur va ma'lumotlarni saqlash uchun o'rtacha vaqt limitini beradi. Ular dastur ishlash vaqti davomida yadda qoladi, lekin tizimni qayta ishga tushirish orqali ma'lumotlar o'chib ketadi. Tezlik: RAM xotirasi, dasturlar va ma'lumotlar uchun tezkor o'qish va yozish imkonini beradi. Uning o'qish va yozish tezligi kompyuterning boshqa xususiyatlari bilan bog'liq bo'lib, dasturlarni tez bajarishga yordam beradi. Miqdori: RAM xotirasining miqdori kompyuter tizmining konfiguratsiyasiga bog'liq bo'ladi. RAM miqdori kompyuterning ishlash tezligini va ma'lumotlarni saqlash imkoniyatini ta'minlayadi Aslida, registr xotirasi tizimning ochiq ishlash paytida foydalaniladi, shuning uchun uning miqdori o'zgarishi juda qisqa bo'ladi. RAM xotirasi esa katta miqdorda ma'lumotlarni saqlash uchun ishlatiladi, ammo uning tezliklari registr xotirasiga nisbatan qisqa bo'ladi. Assembler dasturlashda, registr xotirasi o'zgaruvchilar, to'plamlar, buyruqlar va boshqa dasturiy elementlarni saqlash uchun foydalaniladi, RAM xotirasi esa dastur va ma'lumotlar to'plamlarini saqlash uchun ishlatiladi. Ular dasturlarni tashqi xotiradan o'qish va saqlash imkonini beradi va dasturlarni to'g'ri bajarish va amalga oshirishda muhim rol o'ynaydilar. 10-masala. Berilgan uchta butun son ichidan eng kattasini aniqlovchi dastur tuzilsin. Dastur natijasi: Download 2.48 Mb. Do'stlaringiz bilan baham: |
1 2
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling