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                                                                 

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                      

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

                                                                               

                                                                                                                                                              

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                

                                                                                


 

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

23430. Укрепление великокняжеской власти в ВКЛ в первой половине XIV в. Происхождение названия княжества 12.98 KB
  Укрепление великокняжеской власти в ВКЛ в первой половине XIV в. Происхождение названия княжества Укрепление единовластия в ВКЛ произошло при великом князе Гедимине в 13161341 гг. Большая часть белорусских земель вошла в состав ВКЛ. Территория ВКЛ увеличилась в 3 раза.
23431. Государственный строй ВКЛ в середине XIII – XIV в. Борьба за великое княжение 16.03 KB
  стал его старший сын от второй жены Ягайло. В начале своего правления Ягайло стремился продолжать политику своего отца. Однако старшие братья Ягайло от первой жены Ольгерда считали себя обиженными. Ягайло столкнулся с противодействием недовольных князей группировавшихся вокруг полоцкого князя Андрея.
23432. Сближение ВКЛ с Польшей. Кревская уния 1385 г.: причины, условия и последствия 13.26 KB
  Выбор остановился на Ягайло. Вопервых Ягайло также был заинтересован в союзниках которые помогли бы ему сохранить власть. Втретьих если бы Ягайло крестил Литву в католичество это подняло бы авторитет поляков так как им удалось бы сделать то что до сих пор не удавалось немцам. Согласно унии польские послы обещали Ягайло отдать в жены польскую королеву Ядвигу а с нею и польскую корону.
23433. Изменения в государственном строе ВКЛ в XV – первой половине XVI 16.37 KB
  Изменения в государственном строе ВКЛ в XV – первой половине XVI В начале XV века власть в ВКЛ стала практически принадлежать Витовту. При нем государственный строй ВКЛ представлял собой неограниченную монархию – власть одного правителя в государстве. Витовт продолжая добиваться независимости ВКЛ от Польши стремился разорвать свои зависимые отношения с польским королем Ягайло. Была подписана Городельская уния – союз между ВКЛ и Польшей.
23434. Жизнь и занятия первобытных людей на территории Беларуси 19.7 KB
  Жизнь и занятия первобытных людей на территории Беларуси Первые люди неандертальцы на территории Беларуси появились примерно 10035 тыс. Светиловичи Ветковского районов которые датируются 2623 тыс.КАМЕННЫЙ ВЕК 100 тыс. – 3 тыс.
23435. Восточнославянские племена на территории Беларуси: расселение, общественные и хозяйственные отношения в VI-IX веках 17.07 KB
  В раннем железном веке область расселения балтов на территории Беларуси составляла бассейны рек Немана Западной Двины Верхнего Поднепровья. происходит массовое расселение славян на территории Беларуси междуречье Припяти Днепра Западной Двины. Образуются союзы племен: кривичи место расселения – верховье Днепра Западной Двины и Волги дреговичи бассейны Припяти и Двины радимичи юговосточная часть современной Беларуси восток Гомельской и Могилевской области.Место расселения восточнославянских племен на территории Беларуси – это:...
23436. Полоцкое княжество в IX-XI вв. Княжеско-вечевой строй 17.26 KB
  Еще при жизни Всеслав распределил отдельные княжества Полоцкой земли между семью своими сыновьями которые начали междоусобную борьбу. в общественнополитической жизни Полоцкой земли происходят значительные изменения. на севере и западе Полоцкой земли появились немецкие рыцарикрестоносцы которые захватили полоцкие города Кукенойс и Герцике. Начинается период развития Полоцкой земли в союзе с Литвой в новом государстве – ВКЛ.
23437. ФИЗИОЛОГИЯ РАСТЕНИЙ 6.3 MB
  Малиновский ФИЗИОЛОГИЯ РАСТЕНИЙ Владивосток 2004 УДК 581.1 Физиология растений. В учебном пособии кратко изложены основные разделы физиологии растений: физиология растительной клетки водный обмен минеральное питание фотосинтез брожение и дыхание гетеротрофное питание транспорт и выделение веществ рост и развитие движения растений механизмы защиты растений от факторов внешней среды в том числе и от патогенов. Особенности водного обмена у растений разных экологических групп .
23438. Способы построения, архитектура и обмен данными в цифровых сетях связи 1.2 MB
  Цифровые сети могут строиться на основе уже существующих проводных линий связи (медные, оптические), прокладываться специально выделенные линии, или строиться каналы беспроводной передачи данных. Архитектура сетей подразумевает различные технологии, протоколы...