Використання ланцюгових команд – команд опрацювання рядків.

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Не вказано

Інформація про роботу

Рік:
2010
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Засоби системного програмування

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти та науки України Національний університет «Львівська політехніка»  ЗВІТ З лабораторної роботи №8 З дисципліни: «Засоби системного програмування» На тему: «Використання ланцюгових команд – команд опрацювання рядків.» Львів 2010 ЗАВДАННЯ: Створити *.exe програму, яка реалізовує дії, задані варіантом. Довжину вхідних рядків обмежити 20 символами. Передбачити можливість вводу пустого рядка. Відслідкувати правильність виконання програми та продемонструвати результати її роботи для різних вхідних даних. Скласти звіт про виконану роботу з приведенням тексту програми та коментарів до неї. Дати відповідь на контрольні запитання. № завдання  7 Ввести рядок тексту та один символ. Вилучити з вхідного рядка всі слова, що починаються на заданий символ. Вивести новий рядок на екран.   Лістинг програми: DOSSEG .MODEL SMALL .STACK 100h .DATA max_len EQU 128 str1 db max_len dup (' '),10,13,'$' perehid db 10,13,'$' str2 db max_len dup (' '),10,13,'$' char db 0 len1 dw 0 In1 db 'Input string: $' In2 db 'Input char: $' In3 db 'New string is: $' sorry db 'not data $' .CODE mov si, offset str1 mov ax, seg str1 mov ds,ax mov di, offset str2 mov ax, seg str2 mov es,ax mov ah,9 mov dx, offset In1 int 21h mov ah, 3fh mov bx, 0 mov cx, max_len mov dx, offset str1 int 21h sub ax,2 jnz data mov ah,9 mov dx, offset sorry int 21h jmp exit data: mov len1,ax mov ah,9 mov dx, offset In2 int 21h mov ah,1 int 21h mov char,al mov ah,9 mov dx, offset perehid int 21h CLD mov cx,len1-1 next: mov al, char cmp str1[si],al jne copy_word seek_prob: cmp str1[si],20h je step cmp str1[si],09h je step inc si loop seek_prob jmp exit copy_word: cmp str1[si],20h je step cmp str1[si],09h je step movsb loop copy_word step: cmp str1[si],20h je temp cmp str1[si],09h jne next1 temp: movsb loop step next1: sub cx,0 jnz next exit: mov ah,9 mov dx, offset str2 int 21h mov ah,10h int 16h mov ah,4Ch int 21h end Висновок і результати роботи програми:  Висновок: я навчився використовувати ланцюгові команди і працювати з рядками тексту в мові Асемблер. .
Антиботан аватар за замовчуванням

18.03.2013 13:03-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!