Приклад 5. Масиви рядків
У багатьох випадках програмістові приходиться мати справа не з окремими рядками, а з групою, або масивом, рядків. Дуже часто в програмах потрібно, у залежності від результатів якихось проміжних обчислень, відображати відповідну інформацію, що утримується в одній з рядків масиву. Процедура приймає як параметр номер рядка, рівний 0,1 або 2, і повертає адреса обраної раніше рядка. Як індексатор рядка обраний регістр ЕСХ, у якому отриманий номер рядка збільшується на 4 (адреса рядка представлена подвійним словом). У регістр ESI міститься адреса масиву рядків (він збігається з адресою подвійного слова, що містить адресу нульового рядка). Для доступу до подвійного слова, що містить адресу необхідного рядка, випливає до вмісту ESI додати вміст регістра ЕСХ. Нарешті, у регістр ЕАХ міститься адреса шуканого рядка. Приклад.
Завдання на лабораторну роботу. 1. Розробити програму: а) для конкатенації рядків; б) для копіювання масиву даних. 2. Розробити програму для порівняння двох рядків. 3. Розробити програму а) підрахунку кількості входжень підрядку в рядок. б) підрахунку кількості визначеного символу в рядку. 4. Розробити програму а) реверсування рядка б) заміни регістра символів
5. Розробити програму обробки масивів рядків – за завданням два рядки міняються місцями. Методичні вказівки з оформлення звіту Звіт до лабораторної роботи повинен містити: тему лабораторної роботи; формулювання мети і задач, що вирішуються в ході виконання роботи; докладний звіт про використання ланцюгових команд; висновки. Критерії оцінювання. На 3 бали: Вміти дати відповіді на питання для самоконтролю та самоперевірки. Виконати завдання 1 На 4 бали: Виконати завдання 2, 3 На 5 балів: Виконати завдання 4, 5 Питання для самоперевірки Які групи ланцюгових команд ви знаєте? Як працює команда rep? Який прапор відповідає за напрямок зміни адрес приймача та джерела? Література 1. Голуб Н. Г. Искусство программирования на Ассемблере. Лекции и упражнения.- СПб.: ООО”ДиаСофтЮП”, 2002. – 656 с. 2. Магда. Ю. С. M12 Ассемблер для процессоров Intel Pentium. – СПб.: Питер, 2006. – 410с. 3. Ирвин Кип. Язык ассемблера для процессоров Intel, 4-е издание.: Пер с англ. – М.: Издательский дом ”Вильямс”, 2005. – 912с. Лабораторна робота 9. Тема: Процедури мовою асемблера Ціль: Ознайомиться з особливостями організації процедур на асемблері і способами предачі параметрів у процедури. Підготовка до роботи. Ознайомитися із правилами організації процедур і способами преедачы параметрів до процедур. Згадати принцип роботи стеку [1, стор. 188-197], [2, стор. 93-120]. Питання для самоконтролеві. 39. За яким правилом отримуються дані зі стеку? 40. Назвіть мінімальну одиницю інформації, якові можна записати в стек. 41. Назвіть два способи передачі параметрів із основної програми в підпрограму. 42. Що знаходиться на вершині стеку в момент виклику підпрограми?
Читайте также: I Приклади розв’язання задач Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|