Дипломированных специалистов «Информатика и вычислительная техника»


Описание и инициализация массива в программе



Download 12,06 Mb.
Pdf ko'rish
bet155/357
Sana22.02.2022
Hajmi12,06 Mb.
#115195
TuriДиплом
1   ...   151   152   153   154   155   156   157   158   ...   357
Bog'liq
assembler uchebnik dlya vuzov 2-e izd YuRXUW1

Описание и инициализация массива в программе
Специальных средств описания массивов в программах ассемблера, конечно, нет.
Чтобы использовать массив в программе, его нужно смоделировать одним из пе-
речисленных далее способов.


270 Глава
структуры данных
Можно перечислить
массива в поле
одной из директив
описания
При
запятыми.
мер,
из 5 элементов. Размер каждого элемента 4 байта:
mas dd 1 , 2 , 3 , 4 , 5
использовать оператор повторения DUP. К примеру,
;массив из 5 нулевых элементов. Размер каждого элемента 2 б а й т а :
mas dw
5 dup (0)
Такой способ определения используется для резервирования
с целью
размещения и
массива.
Можно использовать директивы LABEL и REPT. Пара этих директив позволяет
облегчить описание больших массивов в памяти и повысить
тако-
го
Директива REPT относится к макросредствам языка ассемблера
и
число раз строк, заключенных между дирек-
тивой и строкой
К
определим массив байтов в области памяти,
идентификатором mas_b. В данном случае директива LABEL опре-
деляет символическое имя
аналогично тому, как это делают директивы
и инициализации памяти. Достоинство директивы LABEL —
в том, что она не резервирует память, а лишь определяет характеристики объекта.
В данном случае объект — это ячейка памяти. Используя несколько директив
LABEL,
можно присвоить одной и той же области
памяти
и типы, что
в следующем фрагменте:
byte
label word
4
dw
dm
В результате в памяти будет создана
из четырех слов
Эту
можно трактовать как массив байтов или слов в зави-
симости от того, какое имя области мы будем использовать в программе — mas_b
или mas_w.
Чтобы инициализировать значениями область памяти и впоследствии тракто-
вать ее как массив, можно
цикл. Посмотрим па примере листин-
га
образом это делается.
Листинг
Инициализация массива в цикле
; prg 13
MODEL small
256
. data
db
mas db 10 dup (?)
массив
: db 0
ma


Массивы 271
go:
,
xor ax,
mov
mov si ,
mov
mov mas
inc i
i с i
loop go
на
mov
,
mov si ,
mov ah,
lea
,
mov
mov
add
2
inc si
@data
ax
ax
10
e
ах
счетчика цикла в сх
индекс начального элемента в сх
цикл и н и ц и а л и з а ц и и
i в bh
запись в массив i
инкремент i
продвижение к следующему элементу
повторить цикл
получившегося массива
0
roes
mas
функция вывода значения из
на экран
преобразование числа в символ
show
exi
end
mov
int
стандартный выход
конец программы

Download 12,06 Mb.

Do'stlaringiz bilan baham:
1   ...   151   152   153   154   155   156   157   158   ...   357




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish