Лабораторная работа: Машинно-зависимая и машинно-независимая оптимизация кода ассемблера

Лабораторная работа: Машинно-зависимая и машинно-независимая оптимизация кода ассемблера




💣 👉🏻👉🏻👉🏻 ВСЯ ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻




























































Машинно-зависимая и машинно-независимая оптимизация кода ассемблера

Лабораторная работа №3: Машинно-зависимая и машинно-независимая оптимизация кода ассемблера.
На языке PASCAL написана следующая программа, предназначенная для определения нечетных чисел находящихся в массиве чисел:
Листинг программы, полученной с помощью программы ALTER, для последующей оптимизации (подчеркнуты строки, измененные в процессе оптимизации):
Turbo Assembler Version 4.1 12/12/08 00:18:57 Page 1
4 0000 FF*(??) __bufrw db 255 dup (?)
5_________________________;_
res
_____
dw
_____?

6_________________________;_
i
_____
dw
_____?

12__________; mov _res, 0
_____; Занести в_____переменную _res_____0

16____________________; mov _i, 1
_____; Занести в_____переменную _
i
1

17____________________;
mov

bx

,_

i

; Записать в
BX
_
i

Строки 16, 17 заменить на
mov

bx

, 1


19 000BB9 000Amovcx, 10 ; Занести в cx 10
20 000E EB 01 jmp $+3 ; Перейти на 3 байта вперед
23__________; push bx
_______________; Записать BX в стек

24_______________; push cx
_______________; Записать CX в стек

Строки 23, 24 заменить на push bx cx


26_____; mov _i, bx
__________; Записать в переменную _i BX

28 ; Подготовка левой части условия
29 ; mov ax,_i ; Занести в AX переменную _i
32 0016 BB 0002 mov bx, 2 ; Занести в BX 2
33 0019 33 D2 xor dx, dx ; Обнуляем DX
34 001B F7 F3 div bx ; Деление без знака
35 001D 92 xchg ax, dx ; Поменять значение AX и BX
36 001E 8B D8 mov bx, ax ; Записать в bx ax
37 ; Подготовка правой части условия
38 0020 BA 0000 mov dx, 0 ; Занести в dx 0
39 0023 3B DA cmp bx, dx ; Сравнить BX c DX
43__________; mov ax,_i__________; Занести в_____AX переменную _i

45_____; mov _res, ax
_____; Занести в_____переменную _res_____AX

47__________; mov ax,_res
_____; Занести в_____AX переменную _res

48 002A E8 0014 call sl_itoa ; Вызвать функцию преобразования
49 002D B4 02 mov ah, 2 ; Загрузить в AH номер функции
50 002F B2 0D mov dl, 13 ; Выводимый символ
51 0031 CD 21 int 21h ; Вызвать прерывание DOS
52 0033 B2 0A mov dl, 10 ; Выводимый символ
53 0035 CD 21 int 21h ; Вызвать прерывание DOS
55 ; Переход если не выполнилось условие №1
56__________; pop cx_____
_____; Вернуть из стека в CX

57_______________; pop bx
__________; Вернуть из стека в BX

Turbo Assembler Version 4.1 12/12/08 00:18:57 Page 2
59 0039 3B D9 cmp bx, cx ; Сравнить BX и CX
60 003B 75 D3 jne for_b_1 ; Переход если не равно
66 0041 50 53 51 52 push ax bx cx dx
76 0057 5A 59 5B 58 pop dx cx bx ax
81 005C 50 53 51 52 push ax bx cx dx
83 0063 5A 59 5B 58 pop dx cx bx ax
Turbo Assembler Version 4.1 12/12/08 00:18:57 Page 3
Groups & Segments Bit Size Align Combine Class
3. Машинно-зависимая оптимизация кода ассемблера

Машинно-зависимая оптимизация предполагает:
1) Использование регистров процессора вместо ячеек оперативной памяти.
2) Использование непосредственно заданных операндов.
3) Использование косвенной адресации, когда операнд хранит адрес операнда.
4) Ограничение использования стека.
программа оптимизация ассемблер код
4. Машинно-независимая оптимизация кода ассемблера

Машинно-независимая оптимизация предполагает:
1. Одним из важнейших источников оптимизации кода является удаление общих подвыражений, т.е. подвыражений, которые встречаются в нескольких местах программы и вычисляют одно и то же выражение.
2. Другим источником оптимизации кода является удаление инвариантов цикла. Так называются подвыражения внутри цикла, результирующие значения которых не изменяются внутри цикла при переходе от одной итерации к другой. Поскольку для большинства программ основное время работы приходится на выполнение циклов, экономия времени от подобной оптимизации может быть весьма существенной.
3. Еще один источник оптимизации кода состоит в замене менее эффективных операций на более эффективные.
До оптимизации исполняемый файл составлял 660 байт, а после оптимизации 640 байт.
В ходе оптимизации были произведены следующие действия:
– вместо переменных i, resиспользуются регистры ax, bx, что является машинно-зависимой оптимизацией.
– удаление общих подвыражений, были объединены такие строки, как
После проведенной оптимизации программа полностью сохранила свой смысл.

Название: Машинно-зависимая и машинно-независимая оптимизация кода ассемблера
Раздел: Рефераты по информатике, программированию
Тип: лабораторная работа
Добавлен 22:02:49 19 марта 2011 Похожие работы
Просмотров: 147
Комментариев: 15
Оценило: 2 человек
Средний балл: 5
Оценка: неизвестно   Скачать

Срочная помощь учащимся в написании различных работ. Бесплатные корректировки! Круглосуточная поддержка! Узнай стоимость твоей работы на сайте 64362.ru
Привет студентам) если возникают трудности с любой работой (от реферата и контрольных до диплома), можете обратиться на FAST-REFERAT.RU , я там обычно заказываю, все качественно и в срок) в любом случае попробуйте, за спрос денег не берут)
Да, но только в случае крайней необходимости.

Лабораторная работа: Машинно-зависимая и машинно-независимая оптимизация кода ассемблера
Характер советского режима 1985г., причины начала политики перестройки и ее цели
Курсовая работа по теме Блюда из сыра в современной кухне
Курсовая работа: Метрология, стандартизация и сертификация. Скачать бесплатно и без регистрации
Сочинение: Киев в жизни и творчестве М. А. Булгакова
Дипломная работа по теме Математические вопросы теории надежности
Отчет по практике по теме Ремонт устройств электрической централизации управления стрелками на железной дороге
Курсовая работа: Конституционный статус Правительства РФ 2
Эффективность Оценок Реферат
Реферат по теме Организация ремонта переднего моста ГАЗ-53А
Психологическая Пригодность Личности К Юридической Деятельности Реферат
Реферат: Death Cload Essay Research Paper 2100 hours
Отчет По Практике По Ремонту
Реферат: Деятельность ВТО. Скачать бесплатно и без регистрации
Сочинение Вечные Темы Фета
Сочинение Рассуждение На Тему Доверие 9.3
Реферат Особенности Тушения Пожара
Курсовая работа: Экономика предприятия 16
Деятельность социального педагога по решению проблемы злоупотребления алкоголем среди школьников
Реферат: Влияние физических упражнений на организм человека. Лечебная физическая культура при заболеваниях органов дыхания. Скачать бесплатно и без регистрации
Спортивные Сооружения Реферат
Курсовая работа: Учет расчетов с поставщиками и покупателями
Дипломная работа: Разработка бизнес-плана предприятия
Реферат: Социология социальных проблем: аналитический обзор основных концепций

Report Page