35255

Програмування циклів

Практическая работа

Информатика, кибернетика и программирование

code початок сегменту кода strt: початок модулю strt mov x@dt запис в регістр ах всіх адрес змінних mov dsx запис в регістр ds вмісту регістру ах mov cx len пересилка len в регістр cx xor xx обнуління регістру ах jcxz exit перехід на мітку exit если сх. jne m1 перехід на мітку m1 виконується якщо не еквівалентні ms[si] з нулем inc l збільшення вмісту регістру l на 1 m1: мітка m1 inc si збільшення si на 1 loop cycl організація...

Украинкский

2013-09-09

152 KB

2 чел.

Практична робота №24

Тема: Програмування циклів.

Мета: Навчитися створювати програми на асемблері, виконуючі команди повторення (цикли).

Устаткування: ПК. Програма Turbo Assembler 5.0.

  1.  Правила ТБ.
  2.  Методичні  рекомендації.
  3.  Індивідуальне завдання

Приклад 1. Підрахунок числа нульових символів з використанням команд управління циклом loop

masm     назва відладчика  

model small    модель пам’яті small

.stack 100h    резервування місця у стеку

.data     початок сегменту даних

len equ 10    задання розмірності змінної  len

mas db 1,0,9,8,0,7,8,0,2,0  оголошення змінної mas=1,0,9,8,0,7,8,0,2,0

.code     початок сегменту кода

start:     початок модулю start

mov ax,@data   запис в регістр ах всіх адрес змінних

mov ds,ax   запис в регістр ds вмісту регістру ах

mov cx, len   пересилка  len в регістр cx

xor ax,ax   обнуління регістру ах

jcxz exit   перехід на мітку  exit если сх.=0

    cycl:    мітка переходу cycl

cmp mas[si],0   порівняння вмісту елементу mas[si] з нулем.

jne m1                     перехід на мітку m1 виконується якщо не еквівалентні mas[si] з нулем

inc al    збільшення вмісту регістру al на 1   

    m1:     мітка m1

inc si    збільшення si на 1

loop cycl   організація цикла

    exit:    початок модулю виходу

mov ax,4c00h   запис в регістр ах значення 4с00h

int 21h    переривання з номером 21h

end start    завершення модулю start

  1.  Описати кожен рядок  програми з примера1 (письмово).
    1.  Одержати виконуваний файл програми з примера1.

  1.  Запустити програму у відладчику в режимі трасування в прямому напрямі (виконання по кроках).

  1.  Записати послідовність зміни вмісту регістрів.

  1.  Виконати задачу, відповідну вашому варіанту.

 Варіант 5.

Скласти програму підрахунку числа елементів рядка даних перевищуючих 7.

 masm

model small

.stack 100h

.data

len equ 10

mas db 1,0,9,8,0,7,8,0,2,0

.code

start:

mov ax,@data

mov ds,ax

mov cx,len

xor ax,ax

jcxz exit

    cycl:

cmp mas[si],7

ja m1

inc al

    m1:

inc si

loop cycl

    exit:

mov ax,4c00h

int 21h

end start                                                                 

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                      

Висновок:  я навчилася створювати програми на асемблері, виконуючі команди повторення (цикли).

                                                                               

                                                                                                                                                              

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                


 

А также другие работы, которые могут Вас заинтересовать

16984. Загальне використовування даних додатками Windows. Буфер обміну. Технологія OLE 7.02 MB
  Практична робота №5 Тема: Загальне використовування даних додатками Windows. Буфер обміну. Технологія OLE. Мета: Ознайомитися з технологією OLE і загальним використовуванням даних додатками Windows. Устаткування: ПК. Операційна система Windows. Індивідуальне завдання ...
16985. Створення таблиць та обробка табличних даних засобами Word 222.5 KB
  Практична робота № 11 Тема: Створення таблиць та обробка табличних даних засобами Word Мета: засвоїти засоби створення редагування та форматування двовимірних таблиць а також організацію обробки та сортування табличних даних у програмі Word. Обладнання: персональний ...
16986. Введення таблиць. Автозаповнення формулами. Сортування даних 676.5 KB
  Практична робота №14 Тема: Введення таблиць. Автозаповнення формулами. Сортування даних. Мета: Навчитися використовувати функцію авто заповнення формулами та сортувати дані у таблицях. Обладнання: ПЕОМ. Табличний процесор MS Excel. Правила ТБ Індивідуальне з
16987. Побудова діаграм 308 KB
  Практична робота №15 Тема: Побудова діаграм. Мета: Навчитися будувати діаграми змішаного типу та кругові діаграми. Обладнання: ПЕОМ. Табличний процесор MS Excel. Хід виконання Правила ТБ Індивідуальне завдання 1. За даними табл. 3 побудувати діаграму зміша...
16988. Фільтрація даних. Критерії фільтрації 1.03 MB
  Практична робота №16 Тема: Фільтрація даних. Критерії фільтрації. Мета: Навчитися використовувати фільтрацію даних та навчитися використовувати Автофильтр та Расширенный фильтр. Обладнання: ПЕОМ. Табличний процесор MS Excel. Хід виконання Правила ТБ Інд
16990. Рішення задач матричної і векторної алгебри в Maple 356.5 KB
  Практична робота №30. Тема: Рішення задач матричної і векторної алгебри в Maple. Мета: Навчитися обчислювати визначників вирішувати системи лінійних рівнянь методом Крамера і матричним способом а також знаходити значення матричного многочлена використовуючи можлив
16991. Диференціальне і інтегральне числення функцій одного і декількох змінних в Maple 430.5 KB
  Практична робота №31. Тема: Диференціальне і інтегральне числення функцій одного і декількох змінних в Maple. Мета: Навчитися обчислювати межі часткову суму послідовностей похідні функцій і інтеграли в середовищі Maple. Обладнання: ПК зі встановленим математичним па
16992. Команди MS-DOS: cls, date, time, copy, del, dir, find, mem, mkdir, label, rd 72.5 KB
  Практична робота №1 Тема: Команди MSDOS: cls date time copy del dir find mem mkdir label rd. Мета: навчитися використовувати основні команди MSDOS при роботі з ОС. Устаткування: ПК. Операційна система MSDOS та Windows. Правила ТБ. Методичні рекомендації. Індивідуальне завда