Курсовая работа: Конкатенація строк Assembler

test al, al ; exit when terminator is written

jne @B

pop edi

mov eax, lpszSource

ret

strCat endp

Ближче познайомимося з кодом цієї функції. У регістр ediзагружається ісходна строка, до якої буде конкатинуватися інша строка, яка знаходиться у регістрі ecx. Регістр edi зміщується за розміром ісходної строки, щоб почати писати до неї з кінця. Далі йде цикл, який посимвольно додає до строки байти з іншої строки. Признаком кінця циклу є нулевий термінатор. По виходу з цікла регістр ediвостанавлюється .

2.2 Приклад виконання

Далі неведено декілька прикладів виконання. Наприклад якщо операнд а буде рівен 0(рис. 2. 1)

Рис. 2.1


Також примір, якщо b буде рівно 0.(Рис. 2.2)

Рис. 2.2

Тепер приклад, якщо а и б рівні(рис. 2.3).

Рис. 2.3

Тепер якщо а більше б(рис. 2.4).


Рис. 2.4

Та останній приклад, якщо а менше б(рис. 2.5)

Рис. 2.5


ВИСНОВОК

Згідно з завданням до курсової роботи, було розроблено три функції на мові Асемблеру, що дозволило зробити їх більш компактними та такими, що є більш ефективними з точки зору не лише кількості операцій, але й за рахунок більшого використання високошвидкісних регістрів замість пам'яті, де це було можливо.


СПИСОК ЛІТЕРАТУРИ

1. Абель П."Язык Ассемблер для IBM РС и программирование".

2. Нортон П."Язык Ассемблера для IBM PC".

3. Юров, Хорошенко "Assembler: учебный курс".


К-во Просмотров: 430
Бесплатно скачать Курсовая работа: Конкатенація строк Assembler