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



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

Типовые операции с массивами
Для демонстрации основных приемов работы с массивами лучше всего подходят
программы поиска или сортировки. Программа поиска была приведена ранее. Те-
перь рассмотрим одну из программ, выполняющих сортировку массива по возрас-
танию (листинг 13.5).
Листинг
Сортировка массива
MODEL
STACK 256
db
массив -
сообщения
mes2 db
массив -
equ 9
элементов в массиве, считая с 0
mas
массив
dw 0
для работы с массивом
i dw 0
j dw 0
main:
mov
xor
на экран исходного массива
mov
lea
int 21h
сообщения mesl
mov
mov
значения элементов
массива на экран
mov dx,mas[si]
add dl,30h
mov
int 21h
add si ,2
loop show_primary
строки 40-85 программы эквивалентны следующему коду на языке С:
for (i=0;i<9;i++)
for
if
mov i,0
i
цикл по j
internal:
mov
j
;переход на тело цикла


Массивы 279
mov
shl
bx,l
mov
mov
shl
bx,l
cmp
j e
mov
i
shl bx,l
mov
mov
j
bx,l
mov
mov
i
shl
mov
mov
j
shl
bx,l
mov
mov
dec
mov
cmp
exchange
i nc i
i , n
j 1
: bx=j
? mas[j] - сравнение элементов
меньше, то обмен не нужен
переход на продвижение далее по массиву
;иначе
; bx=i
;умножаем на 2, так как элементы - слова
:
[j ]
;
;умножаем на 2, так как элементы - слова
;
;умножаем на 2, так как элементы - слова
; bx=j
;умножаем на 2, так как элементы - слова
далее по массиву во внутреннем
;цикле
:
цикла по j
; сравнить j ? i
;если
то переход на обмен
иначе - на внешний цикл по i
i ? n - прошли до конца массива
- продолжение обработки
отсортированного массива
mov
lea
int 21h
mov
mov si
show: .
значения элемента на экран
mov
add dl,30h
mov
int 21h
add si
2
loop show
mov
выход
int 21h
end main ;конец программы
В
программы лежит алгоритм, похожий на метод пузырьковой сорти-
ровки. Эта программа не претендует на безусловную оптимальность, так как суще-
ствует целая теория, касающаяся подобного типа сортировок. Перед нами стоит
другая
— показать использование средств ассемблера для решения подобно-


280 Глава
Сложные структуры данных
го рода задач. В программе два цикла. Внешний цикл определяет позицию в мас-
сиве очередного элемента, с которым производится попарное сравнение элемен-
тов правой части массива (относительно этого элемента). За каждую итерацию
внешнего цикла на месте этого очередного элемента оказывается меньший эле-
мент из правой части массива (если он есть). В остальном программа довольно
проста и на языке высокого уровня заняла бы около десятка строк. Более подроб-
но с реализацией различных типов сортировок на языке ассемблера можно позна-
комиться в [8].

Download 12,06 Mb.

Do'stlaringiz bilan baham:
1   ...   154   155   156   157   158   159   160   161   ...   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