У вас вопросы?
У нас ответы:) SamZan.net

на тему- програмування простих циклів і розгалужень

Работа добавлена на сайт samzan.net: 2016-03-13

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 6.4.2025

Міністерство освіти і науки України

Національний університет харчових технологій

                                                                Кафедра інформаційних систем

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

Системне програмування та ОС

на тему:

«програмування простих циклів і розгалужень»

                                                                          

Перевірив викладач:

Дроб`язко І. П.

Виконав:

Студент групи АКС 3-5

Денисенко О. Ю.

Київ 2012

 Мета роботи – вивчення правил побудови простих циклів і розгалужень,  способів адресації змінних і набуття навиків їх реалізації у програмах мовою асемблера.

 Завдання 51: Замінити непарні літери на символ, введений з клавіатури.

 Завдання 52: Визначити кількість від’ємних елементів масиву.

Лістинг програми 51

data SEGMENT

string db 256 dup('*')

i   dw ?

sb   db 60h

lgth     dw  ?

S_1 db 'Input string please: ','$'

S_2 db 'Input simbol please: ','$'

ent db 13,10,'$'

data ENDS

code SEGMENT

 ASSUME   cs:code,ds:data

 

begin:

include macros.lib

 

mov ax,data

mov ds,ax

 

 

 

S_S S_1

mov ah, 3fh

mov bx, 0

mov cx, 256

lea dx, string

int 21h

sub ax, 2

mov lgth, ax

 

mov dx,offset ent ;out ent

mov ah,9

int 21h

 

xor si, si

 

n_loop equ lgth

mov cx, n_loop

 

start_loop:

 mov i, cx

 cmp  ah, 0

 jz  M2

 M1:

  

  WriteString string, si

  inc sb

  jmp fin

  

 M2:   

  WriteSimbol sb

   

 fin:  

 inc si

 mov cx, i  

 

loop start_loop

 

mov ax,4c00h

int 21h

code ENDS

end begin

Macros.lib

S_S macro Str

mov dx, offset Str

mov ah, 9

int 21h

endm

 

WriteSimbol macro Simb

mov dl, Simb

mov ah, 2

int 21h

endm

 

WriteString macro string,index

mov ah, 40h

mov bx, 1

mov cx, 1

lea dx, string[index]

int 21h

endm
Лістинг програми 52

data SEGMENT byte

Ms db 10,2,-4,-7,7,10,-20,40

n dw 8

m db 0

i dw ?

data ENDS

code SEGMENT

 ASSUME   cs:code,ds:data

 

begin:  

mov ax,data

mov ds,ax

 

xor si, si

mov bx, 0  

n_loop equ n

mov cx, n_loop

start_loop:

 mov i, cx

 

 mov ah, Ms[si]

 cmp  ah, 0

 jng  M2

 M1:

  jmp fin

 M2:   

  cmp  ah, bh

  jl  max

  jmp fin

  max:

   mov bh, ah  

 

  

 fin:

 

 inc si  

 mov cx, i

 

 

loop start_loop

 

mov m, bh

 

mov ax,4c00h

int 21h

code ENDS

end begin

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

Висновок: в першій частині л.р. були замінити непарні літери на символ, введений з клавіатури, рядок може мати довільну кількість символів. Заміна відбувається лише при виведені строки. В другій — визначено кількість від’ємних елементів масиву. Та відображено у регістрі BX.




1. 1855 знаменитый датский философ теолог и писатель по праву считается предтечей и одновременно основателем
2. Классификация компьютерных сетей По назначению- Промышленные сети ~ применяются в цехах
3. на тему КАДРОВЫЙ МЕНЕДЖМЕНТ
4. Экономиканы~ негізгі элементтері ж~не т~сініктері шы~ындар ~ндірістік м~мкіншіліктер 2
5. PR буквально ~ публичные отношения чаще переводят как связи с общественностью первоначально сформиро
6. туберкулез тая~шасы КОХ тая~шасы белгілі неміс ~алымы Роберт Кохпен 1882 жылды~ 24 наурызында ашылды
7. Виды цен на товары реализуемые на рынке относительно длительное время На товары реализуемые на рынке от
8. На тему Битва под Курском Студент группы 03109 Пастарнак Андрей Вячеславович
9. хозяйственной системы предприятия в целом так и каждого ее элемента
10.  З~ясування загальних закономірностей адаптації організму людини до різних умов середовища Вплив низьк