logo

Massivlar. Assemblerda tasvirlash va qayta ishlash

Yuklangan vaqt:

20.11.2024

Ko'chirishlar soni:

0

Hajmi:

82.34765625 KB
Mavzu:  Massivlar. Assemblerda
tasvirlash va qayta ishlash
Assemblerda massivlarni tashkil qilish
Reja:
I.Kirish.
II.Asosiy qism
2.1. Masivlar.
2.2. Dasturda massivning tavsifi va ishga tushirilishi .
2.3. Massiv elementlariga kirish.
2.4. Ikki o'lchovli massivlar.
     III.   Xulosa. 
      IV.  Foydalanilgan adabiyotlar ro`yxati. Kirish
Massivlar, assembler dasturlash tilida katta ma'lumotlarni saqlash uchun 
foydalaniladigan turli elementlarni o'z ichiga olgan o'zgaruvchi to'plamlaridir. 
Assemblerda massivlar ko'rsatkich (index) orqali elementlarga murojaat qilish 
va ulardan ma'lumotlarni o'qish, yozish va qayta ishlash imkoniyatiga ega 
bo'lib, dasturlashda muhim asosiy qismni tashkil etadi.
Assemblerda massivlar tasvirlanish tartibi va qayta ishlash jarayoni bir 
nechta qadamdan iborat bo'lishi mumkin:
1. Massivni tasvirlash: Massivni tasvirlash uchun quyidagi qadamalar 
amalga oshiriladi:
    a. Massivning nomi (identifier): Massiv nomi, massivning turi va 
o'lchami bilan belgilanadi. Masalan: myArray DW 10 dup(0) - bu 10 
elementdan iborat 16-bitlik massiv.
    b. Elementlar soni: Massivning nechta elementdan iborat bo'lishi 
kerakligini belgilaydi. Bu son o'zgaruvchi turi bilan bog'liq bo'lishi mumkin.
    c. Boshlang'ich qiymatlar: Massiv elementlarining boshlang'ich 
qiymatlari belgilanadi. Misol uchun, myArray ning barcha elementlari 0 bilan 
boshlang'ichlangan.
2. Elementlarga murojaat: Massiv elementlariga murojaat qilish uchun 
indeks (ko'rsatkich) va tartib raqami (index) ishlatiladi. Indeks tartib 
raqamlarining 0 dan boshlanishi bilan belgilanadi. Murojaat uchun indeks 
ko'rsatkichining qiymati o'zgaruvchi turi bo'lishi kerak. Masalan, myArray[0] - 
massivning birinchi elementiga murojaat qilish.
3. Elementlardan ma'lumotlarni o'qish: Massiv elementlaridan ma'lumot 
o'qish uchun murojaat qilinadigan indeks bilan xonadon ma'lumot o'qiladi va 
unga qarab ishlanadi. Ma'lumotlarni o'qish uchun LOAD (yoki mov) komandasi
yoki ularning variantlari ishlatiladi.
4. Elementlarga ma'lumotlarni yozish: Massiv elementlariga ma'lumot 
yozish uchun ham indeks bilan murojaat qilinadi va xonadagi ma'lumotga yangi
qiymat yoziladi. Ma'lumotlarni yozish uchun STORE (yoki mov) komandasi 
yoki ularning variantlari ishlatiladi.
5. Qayta ishlash: Massivlar bilan qayta ishlash uchun sikl operatorlari 
(loop) yoki indeksni o'zgartirish imkonini beruvchi komandalar ishlatiladi. Sikl 
operatorlari yordamida massiv elementlarining barchasiga murojaat qilish, 
ma'lumotlarni o'qish va yozish amalga oshiriladi.
Assemblerda massivlarni tasvirlash va qayta ishlash amaliyotlari 
assembler tilining sintaksisiga, dastur yozuvchisi va operatorlariga qarab 
o'zgarishi mumkin. Massivlarning to'g'ridan-to'g'ri adreslash rejimi, indekslar, 
tartib raqamlar va elementlar bilan ishlash uchun foydalaniladigan komandalar 
assembler dasturlash tilining asosiy qoidalaridan biridir.       2.1.Massivlar.
Massiv -bir   xil   turdagi   ba'zi   elementlardan   tashkil   topgan   tuzilgan
ma'lumotlar   turi.   Assembler   dasturlarida   massivlarni   qayta   ishlashning
imkoniyatlari  va xususiyatlarini  tushunish  uchun siz quyidagi  savollarga javob
berishingiz kerak:
 Dasturda massivni qanday tasvirlash mumkin?
 Massivni   qanday   boshlash   kerak,   ya'ni   uning   elementlarining
boshlang'ich qiymatlarini qanday belgilash kerak?
 Massiv elementlariga kirishni qanday tashkil qilish kerak?
 Bir nechta o'lchamdagi massivlarni qanday tashkil qilish kerak?
 Massivlar bilan standart operatsiyalarni qanday tashkil qilish kerak?
2.2.Dasturda massivning tavsifi va ishga tushirilishi
Albatta,   montaj   dasturlarida   massivlarni   tavsiflash   uchun   maxsus   vositalar
mavjud emas.  Agar  dasturda massivdan foydalanish kerak bo'lsa, uni  quyidagi
usullardan biri bilan modellashtirish kerak:
          1)ma'lumotlar   tavsifi   direktivalaridan   birining   operandlari   maydonida
massiv  elementlarini  sanab o'tish  orqali. Ro'yxatlashda elementlar  vergul  bilan
ajratiladi. Masalan,:
 ; 5 ta elementdan iborat massiv.Har bir elementning o'lchami 4 bayt:
mas dd 1,2,3,4,5
2)dup takrorlash operatoridan foydalanish. Masalan,:
; 5 ta nol elementdan iborat massiv.
; Har bir elementning o'lchami 2 bayt:
mas dw 5 dup (0)
Ushbu aniqlash usuli massiv elementlarini joylashtirish va ishga tushirish
uchun xotirani zaxiralash uchun ishlatiladi.
3)   label   va   rep   ko'rsatmalaridan   foydalanish.   Ushbu   ko'rsatmalarning
juftligi   xotiradagi   katta   massivlarni   tavsiflashni   osonlashtirishi   va   bunday
Tavsifning ko'rinishini oshirishi mumkin. Rep direktivasi assembler tilining so'l
vositalarini   nazarda   tutadi   va   ko'rsatma   va   endm   qatori   o'rtasida   tuzilgan
qatorlarning belgilangan sonini  takrorlashni keltirib chiqaradi. Masalan, mas_b
identifikatori   bilan   belgilangan   xotira   maydonidagi   baytlar   qatorini
aniqlaymiz.bunday holda, label direktivasi xotirani zaxiralash va ishga tushirish
direktivalari   kabi   mas_b   ramziy   nomini   belgilaydi.   Yorliq   direktivasining afzalligi   shundaki,   u   xotirani   saqlamaydi,   faqat   ob'ektning   xususiyatlarini
aniqlaydi.   Bunday   holda,   ob'ekt   xotira   hujayrasidir.   Birin-ketin   yozilgan   bir
nechta   label   ko'rsatmalaridan   foydalanib,   bir   xil   xotira   maydoniga   quyidagi
fragmentda bo'lgani kabi turli nomlar va turli xil turlarni berish mumkin:
...
n=0
...
mas_b label byte
mas_w label word
rept 4
dw 0f1f0h
endm
Natijada,   xotirada   to'rt   so'zli   f1f0   ketma-ketligi   yaratiladi.   Ushbu   ketma
—   ketlikni   dasturda   qaysi   maydon   nomidan   foydalanishimizga   qarab   baytlar
yoki so'zlar qatori sifatida talqin qilish mumkin-mas_b yoki mas_w.
4)keyinchalik   massiv   sifatida   talqin   qilinishi   mumkin   bo'lgan   xotira
maydonining qiymatlari bilan boshlash uchun tsikldan foydalanish.
Keling, bu qanday amalga oshirilganligi haqidagi misolni ko'rib chiqaylik.
;prg_12_1.asm
MASM
MODEL small
STACK 256
.data
mes db 0ah, 0dh, ' array -','$'
mas db 10 dup (?); manba qatori
i db 0
.code
main:
mov ax,@data
mov ds,ax
xor ax, ax; ax nolga teng
mov cx,10 ;CX da pastadir hisoblagichining qiymati mov si, 0; CX-dagi boshlang'ich element indeksi
go:; ishga tushirish tsikli
mov bh, i; i bh
mov mas[si], bh; i qatorga yozish
inc i; o'sish i
inc si; keyingisiga o'tish
; massiv elementiga
loop go; tsiklni takrorlang
; olingan massivni ekranga chiqarish
mov cx,10
mov si,0
mov ah,09h
lea dx,mes
int 21h
show:
mov ah,02h ;qiymatni chiqarish funktsiyasi
; al dan ekranga
mov dl,mas[si]
dl, 30h qo'shing; raqamni belgiga aylantirish
int 21h
inc si
loop show
exit:
mov ax ,4C00h; standart chiqish
int 21h
end main; dasturning oxiri
2.3.Massiv elementlariga kirish
Massivlar   bilan   ishlashda   massivning   barcha   elementlari   kompyuter
xotirasida ketma-ket joylashganligini aniq tasavvur qilish kerak.
Ushbu   tartibning   o'zi   ushbu   elementlarning   maqsadi   va   foydalanish   tartibi
haqida   hech   narsa   aytmaydi.   Va   faqat   dasturchi   o'zi   tuzgan   ishlov   berish algoritmidan   foydalanib,   massivni   tashkil   etuvchi   baytlarning   ushbu   ketma-
ketligini qanday talqin qilishni aniqlaydi. Shunday qilib, bir xil xotira maydoni
bir   o'lchovli   massiv   sifatida   talqin   qilinishi   mumkin   va   shu   bilan   birga   bir   xil
ma'lumotlar   ikki   o'lchovli   massiv   sifatida   talqin   qilinishi   mumkin.   Bularning
barchasi   faqat   ma'lum   bir   dasturda   ushbu   ma'lumotlarni   qayta   ishlash
algoritmiga bog'liq. Ma'lumotlarning o'zi "semantik" yoki mantiqiy turi  haqida
hech qanday ma'lumotga ega emas. Ushbu asosiy fikrni eslang.
Xuddi   shu   fikrlarni   massiv   elementlarining   indekslariga   ham   kengaytirish
mumkin.   Assembler   ularning   mavjudligini   bilmaydi   va   ularning   raqamli
semantik qiymatlari qanday ekanligiga mutlaqo ahamiyat bermaydi.
Massivning   ma'lum   bir   elementini   lokalizatsiya   qilish   uchun   uning   nomiga
indeks   qo'shilishi   kerak.   Biz   massivni   modellashtirganimiz   sababli,   indeksni
modellashtirish   haqida   ham   g'amxo'rlik   qilishimiz   kerak.   Assembler   tilida
massiv   indekslari   oddiy   manzillardir,   lekin   ular   bilan   maxsus   usulda   ishlaydi.
Boshqacha   qilib   aytganda,   assemblerda   dasturlashda   biz   indeks   haqida
gapirganda,   biz   bu   bilan   massivdagi   element   raqamini   emas,   balki   ba'zi
manzilni nazarda tutamiz.
Keling,   massiv   tavsifiga   yana   bir   bor   murojaat   qilaylik.   Masalan,   dasturda
ma'lumotlar ketma-ketligi statik ravishda aniqlanadi:
dim dw 0011h,2233h,4455h,6677h,8899h
Ushbu   raqamlar   ketma-ketligi   bir   o'lchovli   qator   sifatida   talqin   qilinsin.
Har bir elementning o'lchami  DW  direktivasi bilan belgilanadi, ya'ni u  2 baytga
teng. 6677h raqamiga kirish uchun siz massiv manziliga 6 qo'shishingiz kerak.
Assemblerdagi massiv elementlarini raqamlash noldan boshlanadi.
Umuman   olganda,   massivdagi   element   manzilini   olish   uchun   massivning
boshlang'ich   (asosiy)   manzilini   ushbu   element   indeksining   mahsuloti   bilan
massiv elementining o'lchamiga qo'shish kerak:
baza + (indeks*element hajmi)
Mikroprotsessor   arxitekturasi   massivlar   bilan   ishlash   uchun   juda   qulay
dasturiy  va  apparat  vositalarini  taqdim   etadi.  Bularga   bir  nechta   ma'lumotlarni
manzillash   rejimlarini   amalga   oshirishga   imkon   beradigan   asosiy   va   indeks
registrlari   kiradi.   Ushbu   adreslash   rejimlaridan   foydalanib,   siz   xotiradagi
massivlar bilan samarali ishlashni tashkil qilishingiz mumkin. Chuqurroq   tushunish   uchun   siz   ushbu   dastur   haqida   meditatsiya
qilishingiz mumkin:
Ushbu   dastur   ekranda   hech   narsani   ko'rsatmaydi.   Bu   shunchaki
tuzatuvchi   ostida   meditatsiya   qilish   uchun   mo'ljallangan.   Diqqat!!!   Disk
raskadrovka paytida Loop go buyrug'idagi tsiklning ishlashini ko'rish uchun F7
tugmachasini bosishingiz kerak.
Ushbu dastur bo'yicha meditatsiya eskizlari: 2.4. Ikki o'lchovli massivlar
Assembler dasturida bir o'lchovli massivlarni taqdim etish va ularni qayta
ishlashni   tashkil   qilish   bilan   hamma   narsa   juda   oddiy.   Va   agar   dastur   ikki
o'lchovli   massivni   boshqarishi   kerak   bo'lsa-chi?   Barcha   muammolar   hali   ham
assemblerda   ushbu   turdagi   ma'lumotlarni   tavsiflash   uchun   maxsus   vositalar
mavjud emasligi sababli yuzaga keladi. Ikki o'lchovli massivni modellashtirish
kerak. Bu ma'lumotlarning tavsifida deyarli aks etmaydi-xotira zaxira qilish va
xotirani ishga tushirish bo'yicha ko'rsatmalar yordamida massiv ostida ajratiladi.
To'g'ridan-to'g'ri   massivni   qayta   ishlashni   modellashtirish   kod   segmentida
amalga   oshiriladi,   bu   erda   dasturchi   assemblerga   ishlov   berish   algoritmini
tavsiflab,   ba'zi   xotira   maydonini   ikki   o'lchovli   massiv   sifatida   talqin   qilish
kerakligini aniqlaydi.
Shu   bilan   birga,   siz   xotirada   ikki   o'lchovli   massiv   elementlarining
joylashishini   qanday   tushunishni   tanlashda   erkinsiz:   qatorlar   yoki   ustunlar
bo'yicha.
Agar   xotiradagi   bir   xil   turdagi   elementlarning   ketma-ketligi   satrlar
bo'yicha   joylashgan   ikki   o'lchovli   massiv   sifatida   talqin   qilinsa,   u   holda   (i,   j)
elementning manzili quyidagi formula bo'yicha hisoblanadi:
(ma'lumotlar bazasi + miqdor_sozlamalar * element_sozlamalar * i+j)
Bu yerda i = 0...n - 1 qator raqamini va j = 0 ni bildiradi...m-1 ustun raqamini
bildiradi.
Masalan, 4 dan 4 gacha bo'lgan mas (i, j) raqamlar qatori(1 bayt) bo'lsin
(i= 0...3, j = 0...3):
23 04 05 67
05 06 07 99
67 08 09 23
87 09 00 08
Xotirada   ushbu   massiv   elementlari   quyidagi   ketma-ketlikda
joylashtiriladi:
23 04 05 67 05 06 07 99 67 08 09 23 87 09 00 08
Agar   biz   ushbu   ketma-ketlikni   yuqoridagi   ikki   o'lchovli   qator   sifatida
ko'rib chiqmoqchi bo'lsak va masalan, elementni ajratib olsak
mas (2, 3) \ u003d 23, keyin oddiy hisob-kitoblarni amalga oshirgandan so'ng,
keling, fikrlarimizning to'g'riligiga ishonch hosil qilaylik: Samarali mas manzili(2, 3) = mas + 4 * 1 * 2 + 3 = mas + 11
Xotiradagi   massiv   ko'rinishiga   qarang   va   ushbu   ofset   haqiqatan   ham
kerakli   massiv   elementiga   ega   ekanligiga   ishonch   hosil   qiling.   Meditatsiya
dasturi:
Ushbu dastur ham hech narsani ko'rsatmaydi, chunki u disk raskadrovka
ostida, o'qitish uchun mo'ljallangan. Xulosa.
Ma’lumki   hozirgi     kunda   Windows     operatsion     sistemalariga   talab
yuqori.  Buning   asosiy   sababi  unda   keng   qamrovli   grafik  interfeysning
mavjudligi.     Bu   esa     foydalanuvchilarga     uni   tez     o‘zlashtirish   imkonini
beradi.   UNIX    operatsion   sistemasi    esa  komandalar   qatoriga   buyruq
yozishni  talab  qiladi.  Buyruqlarni  kiritish  uchun  esa   foydalanuvchi    bu
buyruqlarni   bilishi   kerak.     Bu   esa     uning   rivojlanmay   qolishiga   (oddiy
foydalanuvchilar  orasida)  sabab  bo‘lgan.   Bugungi  kunga  kelib,  kopyuter
texnalogiyalarining     rivojlanishi     va     mutaxassislarning     ko‘payishi       yana
UNIX     operatsion     sistemalariga   bo‘lgan   qiziqishni     oshirmoqda.   Chunki
bu       operatsion       sistemalar       foydolanuvchi     ma’lumotlarini     kuchli
hmoyalaydi       va       ular       to‘laqonli       tarmoq     operatsion       sistemalaridir.
Bundan       tashqari       ular       ochiq     kodli         operatsion     sistemadir.       Ya’ni
ularning  programma  kodlarini  ko‘rish   va   o‘zgartirish   mumkin.  Bu  esa
foydalanuvchilarga       operatsion     sistemani       o‘zlariga     moslab     o‘zgartish
imkonini       beradi.       Endi     biz     grafik     interfeys     bilan       chegaralanib
qolmasdan       uning       ichki     mohiyatiga     xam       e’tibor     berishimiz     kerak.
Buning   uchun  esa   ochiq   kodli operatsion  sistemalar   ayni  muddao.  Foydalanilgan  adabiyotlar:
1. «Axborotlar   texnologiyasi   va   tizimlar»   fanidan   ma’ruzalar   matni.   A.
Jumaboev, S. Baxriddinov. NamMPI,  Namangan-2002 yil.
2. «Ofis   texnikasi,   Boshkarish   va   ish   yuritishuchun».     V.   L.   Broydo,
«Mexnat», Toshkent, 2001 yil.
3. «IBM   RS   shaxsiy   kompyuterlarida   ishlash».   Raxmonkulova   S.   I.
Toshkent: NMK «Shark»-INSTAR, 1996 yil.
4. «Informatika»   ma’ruzalar   matni.   I.   Jumaboev,   A.   Raximov,   O.
Shamshiev. NamMPI, Namangan-2002 yil.
5. Informatika. 2001 yil. A.Axmedov, N.Toylokov.
6. Informatika va axborot texnologiyalari. 2002 yil. A.Sattorov.
7. «DBASE muxitida ishlash». P. Karimov, NamMPI, Namangan-1998 yil.
8. «Mexnatni   muxofaza   kilish».   F.   Yormatov,   Yo.   Isamuxamedov.
«O‘zbekiston», Toshkent, 2002 yil.
     9. Operatsionnaya sistema UNIX,   Avtor: S. D. Kuznesov.
       10. Operatsionnaya sistema UNIX (rukovodstvo polzovatelya)
     11. www.INTUIT.ru
      12.   www.Ref.uz
      13. www.Citforum.ru

Mavzu: Massivlar. Assemblerda tasvirlash va qayta ishlash Assemblerda massivlarni tashkil qilish Reja: I.Kirish. II.Asosiy qism 2.1. Masivlar. 2.2. Dasturda massivning tavsifi va ishga tushirilishi . 2.3. Massiv elementlariga kirish. 2.4. Ikki o'lchovli massivlar. III. Xulosa. IV. Foydalanilgan adabiyotlar ro`yxati.

Kirish Massivlar, assembler dasturlash tilida katta ma'lumotlarni saqlash uchun foydalaniladigan turli elementlarni o'z ichiga olgan o'zgaruvchi to'plamlaridir. Assemblerda massivlar ko'rsatkich (index) orqali elementlarga murojaat qilish va ulardan ma'lumotlarni o'qish, yozish va qayta ishlash imkoniyatiga ega bo'lib, dasturlashda muhim asosiy qismni tashkil etadi. Assemblerda massivlar tasvirlanish tartibi va qayta ishlash jarayoni bir nechta qadamdan iborat bo'lishi mumkin: 1. Massivni tasvirlash: Massivni tasvirlash uchun quyidagi qadamalar amalga oshiriladi: a. Massivning nomi (identifier): Massiv nomi, massivning turi va o'lchami bilan belgilanadi. Masalan: myArray DW 10 dup(0) - bu 10 elementdan iborat 16-bitlik massiv. b. Elementlar soni: Massivning nechta elementdan iborat bo'lishi kerakligini belgilaydi. Bu son o'zgaruvchi turi bilan bog'liq bo'lishi mumkin. c. Boshlang'ich qiymatlar: Massiv elementlarining boshlang'ich qiymatlari belgilanadi. Misol uchun, myArray ning barcha elementlari 0 bilan boshlang'ichlangan. 2. Elementlarga murojaat: Massiv elementlariga murojaat qilish uchun indeks (ko'rsatkich) va tartib raqami (index) ishlatiladi. Indeks tartib raqamlarining 0 dan boshlanishi bilan belgilanadi. Murojaat uchun indeks ko'rsatkichining qiymati o'zgaruvchi turi bo'lishi kerak. Masalan, myArray[0] - massivning birinchi elementiga murojaat qilish. 3. Elementlardan ma'lumotlarni o'qish: Massiv elementlaridan ma'lumot o'qish uchun murojaat qilinadigan indeks bilan xonadon ma'lumot o'qiladi va unga qarab ishlanadi. Ma'lumotlarni o'qish uchun LOAD (yoki mov) komandasi yoki ularning variantlari ishlatiladi. 4. Elementlarga ma'lumotlarni yozish: Massiv elementlariga ma'lumot yozish uchun ham indeks bilan murojaat qilinadi va xonadagi ma'lumotga yangi qiymat yoziladi. Ma'lumotlarni yozish uchun STORE (yoki mov) komandasi yoki ularning variantlari ishlatiladi. 5. Qayta ishlash: Massivlar bilan qayta ishlash uchun sikl operatorlari (loop) yoki indeksni o'zgartirish imkonini beruvchi komandalar ishlatiladi. Sikl operatorlari yordamida massiv elementlarining barchasiga murojaat qilish, ma'lumotlarni o'qish va yozish amalga oshiriladi. Assemblerda massivlarni tasvirlash va qayta ishlash amaliyotlari assembler tilining sintaksisiga, dastur yozuvchisi va operatorlariga qarab o'zgarishi mumkin. Massivlarning to'g'ridan-to'g'ri adreslash rejimi, indekslar, tartib raqamlar va elementlar bilan ishlash uchun foydalaniladigan komandalar assembler dasturlash tilining asosiy qoidalaridan biridir.

2.1.Massivlar. Massiv -bir xil turdagi ba'zi elementlardan tashkil topgan tuzilgan ma'lumotlar turi. Assembler dasturlarida massivlarni qayta ishlashning imkoniyatlari va xususiyatlarini tushunish uchun siz quyidagi savollarga javob berishingiz kerak:  Dasturda massivni qanday tasvirlash mumkin?  Massivni qanday boshlash kerak, ya'ni uning elementlarining boshlang'ich qiymatlarini qanday belgilash kerak?  Massiv elementlariga kirishni qanday tashkil qilish kerak?  Bir nechta o'lchamdagi massivlarni qanday tashkil qilish kerak?  Massivlar bilan standart operatsiyalarni qanday tashkil qilish kerak? 2.2.Dasturda massivning tavsifi va ishga tushirilishi Albatta, montaj dasturlarida massivlarni tavsiflash uchun maxsus vositalar mavjud emas. Agar dasturda massivdan foydalanish kerak bo'lsa, uni quyidagi usullardan biri bilan modellashtirish kerak: 1)ma'lumotlar tavsifi direktivalaridan birining operandlari maydonida massiv elementlarini sanab o'tish orqali. Ro'yxatlashda elementlar vergul bilan ajratiladi. Masalan,: ; 5 ta elementdan iborat massiv.Har bir elementning o'lchami 4 bayt: mas dd 1,2,3,4,5 2)dup takrorlash operatoridan foydalanish. Masalan,: ; 5 ta nol elementdan iborat massiv. ; Har bir elementning o'lchami 2 bayt: mas dw 5 dup (0) Ushbu aniqlash usuli massiv elementlarini joylashtirish va ishga tushirish uchun xotirani zaxiralash uchun ishlatiladi. 3) label va rep ko'rsatmalaridan foydalanish. Ushbu ko'rsatmalarning juftligi xotiradagi katta massivlarni tavsiflashni osonlashtirishi va bunday Tavsifning ko'rinishini oshirishi mumkin. Rep direktivasi assembler tilining so'l vositalarini nazarda tutadi va ko'rsatma va endm qatori o'rtasida tuzilgan qatorlarning belgilangan sonini takrorlashni keltirib chiqaradi. Masalan, mas_b identifikatori bilan belgilangan xotira maydonidagi baytlar qatorini aniqlaymiz.bunday holda, label direktivasi xotirani zaxiralash va ishga tushirish direktivalari kabi mas_b ramziy nomini belgilaydi. Yorliq direktivasining

afzalligi shundaki, u xotirani saqlamaydi, faqat ob'ektning xususiyatlarini aniqlaydi. Bunday holda, ob'ekt xotira hujayrasidir. Birin-ketin yozilgan bir nechta label ko'rsatmalaridan foydalanib, bir xil xotira maydoniga quyidagi fragmentda bo'lgani kabi turli nomlar va turli xil turlarni berish mumkin: ... n=0 ... mas_b label byte mas_w label word rept 4 dw 0f1f0h endm Natijada, xotirada to'rt so'zli f1f0 ketma-ketligi yaratiladi. Ushbu ketma — ketlikni dasturda qaysi maydon nomidan foydalanishimizga qarab baytlar yoki so'zlar qatori sifatida talqin qilish mumkin-mas_b yoki mas_w. 4)keyinchalik massiv sifatida talqin qilinishi mumkin bo'lgan xotira maydonining qiymatlari bilan boshlash uchun tsikldan foydalanish. Keling, bu qanday amalga oshirilganligi haqidagi misolni ko'rib chiqaylik. ;prg_12_1.asm MASM MODEL small STACK 256 .data mes db 0ah, 0dh, ' array -','$' mas db 10 dup (?); manba qatori i db 0 .code main: mov ax,@data mov ds,ax xor ax, ax; ax nolga teng mov cx,10 ;CX da pastadir hisoblagichining qiymati

mov si, 0; CX-dagi boshlang'ich element indeksi go:; ishga tushirish tsikli mov bh, i; i bh mov mas[si], bh; i qatorga yozish inc i; o'sish i inc si; keyingisiga o'tish ; massiv elementiga loop go; tsiklni takrorlang ; olingan massivni ekranga chiqarish mov cx,10 mov si,0 mov ah,09h lea dx,mes int 21h show: mov ah,02h ;qiymatni chiqarish funktsiyasi ; al dan ekranga mov dl,mas[si] dl, 30h qo'shing; raqamni belgiga aylantirish int 21h inc si loop show exit: mov ax ,4C00h; standart chiqish int 21h end main; dasturning oxiri 2.3.Massiv elementlariga kirish Massivlar bilan ishlashda massivning barcha elementlari kompyuter xotirasida ketma-ket joylashganligini aniq tasavvur qilish kerak. Ushbu tartibning o'zi ushbu elementlarning maqsadi va foydalanish tartibi haqida hech narsa aytmaydi. Va faqat dasturchi o'zi tuzgan ishlov berish