Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Приклад 5. Масиви рядків




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

Процедура приймає як параметр номер рядка, рівний 0,1 або 2, і повертає адреса обраної раніше рядка. Як індексатор рядка обраний регістр ЕСХ, у якому отриманий номер рядка збільшується на 4 (адреса рядка представлена подвійним словом). У регістр ESI міститься адреса масиву рядків (він збігається з адресою подвійного слова, що містить адресу нульового рядка). Для доступу до подвійного слова, що містить адресу необхідного рядка, випливає до вмісту ESI додати вміст регістра ЕСХ. Нарешті, у регістр ЕАХ міститься адреса шуканого рядка.

Приклад.

  format pe  
  jmp start  
  s1 DB “It's a String s1”,0
  s2 DB “Here is String s2”,0
  s3 DB “String s3 is placed here”,0
  label saddr dword  
  DD s1  
  DD s2  
  DD s3  
start:    
  mov ECX,???? ; індекс рядка -> ECX
  shl ECX, 2 ; перетворити в подвійне слово
  lea ESI, [saddr] ; адреса масиву рядків saddr –> ESI
  add ESI, ECX ; адреса подвійного слова, що містить
    ; адреса рядка -> ESI
  mov EAX, [ESI] ; адреса шуканого рядка -> EAX
  ret  

Завдання на лабораторну роботу.

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 Приклади розв’язання задач
II. ПРОГРАММА ТЕОРЕТИКО-ПРИКЛАДНОГО СОЦИОЛОГИЧЕСКОГО ИССЛЕДОВАНИЯ
N Основные разделы современной экологии: общая (теоретическая) экология, биоэкология, геоэкология, экология человека и социальная экология, прикладная экология.
V.ПРИКЛАДИ ЗАСТОСУВАННЯ АЛГОРИТМУ ЕВКЛІДА ДО РОЗВ’ЯЗУВАНЯ ДІОФАНТОВИХ РІВНЯНЬ.
Автоматизированное рабочее место врача: программное обеспечение. Специализированные медицинские прикладные программы
Академическая, прикладная и практическая психология: предметная область, задачи и методы работы.
Актуальні проблеми глобалізації (на прикладі розвинутих країн та країн, що розвиваються)
Анабиоз в прикладной микробиологии, вирусологии и энтомологии
Архітектура ОС. Визначити типові архітектури операційних систем. Навести приклади
Б) Наведіть приклади теплових явищ.






Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...