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                                                                 

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                      

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

                                                                               

                                                                                                                                                              

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                


 

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

52696. Венерические болезни и меры профилактики 31.5 KB
  Проблемное обучение Тема: Венерические болезни и меры профилактики. Цель: сформировать понятия венерические болезни гонорея сифилис генитальный герпес знание мер профилактики симптомов возбудителей болезни. Планируемый результат: знать понятия венерические болезни гонорея сифилис генитальный герпес знание мер профилактики симптомов возбудителей болезни. На всем Земном шаре люди сталкиваются независимо от их желания с такой проблемой как венерические болезни а столкнувшись с ней не очень компетентны в данной области.
52697. Сценарій свята, присвяченого останньому дзвонику «Хай доля ваша буде дзвінка та крилата»! 111 KB
  Хай відкривають двері у майбутнє. На все життя запам’ятайте мить чудову Ми радо запрошуємо на свято 53 випуск Манвелівської середньої загальноосвітньої школи щоб їх благословити на доросле життя В Під рушниками – оберегами Хай перший ваш проляже шлях Хай біжить він не по тернах по квітучих вже полях випускники зупиняються В. Побажаємо щастя хай доля стелиться їм світлим полотном танцюристи передають рушники батькам які роблять почесний коридор.
52699. Повторение изученного материала. (Сложение и вычитание многозначных чисел) 51 KB
  Проверка выполнения домашнего задания. В течение урока мы будем помогать строителям дома выполняя разные математические задания тем самым будем закреплять изученный материал. а Подготовка площадки для строительства нового дома: 1.10кг б как вы думаете с чего начинается строительство дома ответы детей с планапроекта грамотное составление плана проекта способствует правильному строительству дома поэтому внимание: расшифруйте фразу из ответов решив эти примеры по 2 командам.