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

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

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.

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

Лабораторна робота №4

Виконав студент гр. АП-31б

Комарьов Р. Ю.

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

Мета: Придбання і закріплення практичних навичок у складанні і налагодженні програм мовою асемблера, що включають команди обробки рядків мовою "Асемблер".

Індивідуальне завдання: У рядок MYSTR  скопіювати  30  байт  з  області  відеопам'яті текстового режиму  (адреса  B800:0000).  Далі  в  рядку  MYSTR  знайти максимальний по коду символ.

Вибір перемінних:

mystr

Рядок

maxstr

Рядок макс. Симв.

max

Максимальн. Симв.

N

кількість елементів у рядку Mystr

Текст програми ( laba4.asm ):

data                        segment

mystr                      db                          'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',0Ah,0Dh,'$'

maxstr          db              'Max Symbol Is:  ',0Ah,0Dh,'$'

max             db              ?

n                            dw                          1Eh

data                        ends

stak    segment stack 

        dw 30 dup(?)  

tos     label word    

stak    ends          

code    segment       

        assume cs:code, ds:data, ss:stak 

start:  mov ax,data  

          mov ds,ax    

          mov es,ax    

          lea  di, mystr

          cld

          mov cx, n

          mov bx, 0B800h

          push ds

          mov ds, bx

          xor si, si

m_cpy:   mov al, ds:[si]

        stosb

        add si, 2

        loop m_cpy

        pop ds

        lea si, mystr          

        mov al, es:[si]

        mov max, al

        mov cx, n

check:   lodsb           

        cmp max, al

        jge next

        mov byte ptr max,al

next: loop check

        lea si, maxstr

        mov al, max

        mov es:[si+16], al

        mov ah, 9h           

        lea dx, mystr

        int 21h             

        mov ah, 9h           

        lea dx, maxstr

        int 21h                   

        mov ah,4ch              

        int 21h                 

code    ends

        end start

Результати роботи програми:

Do while me?…

Max Symbol is: W

Висновок: виконавши дану лабораторну роботу я на практиці придбав і закріпив знання в складанні і налагодженні програм асемблера, що включають команди обробки рядків мовою "Асемблер". Також повторив способи застосування безлічі команд мікропроцесора, таких як порівняння, переходи, переміщення даних і т.п.

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

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

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.