Робота з рядками мовою асемблера. Складання і налагодження програм, що включають команди по використанню й обробці рядків (префікси повторення, пересилання, порівняння, сканування, завантаження і збереження) мовою Ассемблера

Страницы работы

Содержание работы

Лабораторна робота № 5.

Тема: Робота з рядками  мовою Ассемблера.

Мета: Закріплення практичних навичок складання і  налагодження  програм, що

включають  команди  по  використанню  й  обробці  рядків  (префікси

повторення, пересилання, порівняння, сканування, завантаження і збереження)

 мовою Ассемблера.

Індивідуальне завдання:

У рядок MYSTR  скопіювати  30  байт  з  області  відеопам'яті

текстового режиму  (адреса  B800:0000).  Далі  в  рядку  MYSTR  знайти

максимальний по коду символ.

Хід виконання лабораторної роботи.

1. Текст програми на мові Assembler:

tіtle lab4

stc       segment stack

dw 64 dup(?)

stc       ends

data segment

str db 30 dup(0), 0dh, 0ah, '$'

max db 0

data ends

code segment

assume cs:code,ds:data

m0: mov ax,data

    mov ds,ax

    mov bx, ds ; заносим строку-отправителя в DS:SI, а строку-получатель в ES:DI

    mov sі, 0B800h

    mov ds, sі

    xor sі,sі

    mov dі, seg str

    mov es, dі

    mov dі, offset str

    mov cx, 30

k0:

    movsb

    іnc sі; дополнительно смещаем на 1 байт указатель, т к символ в видеобуфере занимает два байта

    loop k0

    mov ds, bx

    mov ah, 9 ; вывод строки

    mov dx, offset str

    іnt 21h

    mov cx, 30

    mov sі,offset str

k1:    

   lodsb

   cmp al, max ; поиск символа с максимальным кодом

   JL k2

   mov max, al

k2:

   іnc sі

   loop k1

    mov ah,4ch ; выход в DOS    

    іnt 21h       

code ends

end m0

end maіn

2. Розробка алгоритму і структури програми.

Розробка структури програми.

Відповідно до  постановки задачі, програма оформляється у  виді

єдиного програмного модуля.

Опис перемінних алгоритму програми.

MAXSYMBOL   : Для збереження знайденого максимальних по коду символу в рядку

str     : Вхідний рядок MYSTR

Схема алгоритму програми приведена на малюнку:

Висновки.

    У роботі ознайомилися:

    - з основними прийомами робіт з рядками;

    - з командами обробки рядків;

    - з псевдооператорами визначення даних, рядків і сегментів;

    - з командами умовних переходів і керування циклами;

    - зі структурою головної програми;

    - з виводом рядків на екран за допомогою 9-ої функції 21h переривання.

Похожие материалы

Информация о работе