Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
М_Арх инф систем.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
194.56 Кб
Скачать

8. Пример прикладной программы

В массиве чисел из пяти элементов нужно поменять местами максимальный и минимальный элементы. Программа:

.model small

.stack 100h

.data

vs db 5 dup(' '),'$'

.code

mov ax,@data

mov ds,ax

lea di,vs

mov cl,5

mov ah,1

c1: int 21h

; Введено пять элементов массива

and al,0fh

mov [di],al

inc di

loop c1

dec di

mov al,[di]

mov dl,[di]

mov si,4

mov bx,4

mov cx,4

c2: dec di

cmp al,[di]

ja pb

cmp dl,[di]

jb pm

jmp cc

pb: mov al,[di]

mov si,cx

dec si

jmp cc

pm: mov dl,[di]

mov bx,cx

dec bx

cc: loop c2

; Замена максимального и минимального элементов

mov vs[si],dl

mov vs[bx],al

lea di,vs+4

mov cl,5

c3: mov al,[di]

or al,30h

mov [di],al

dec di

loop c3

; Вывод измененного массива

mov dx,10

mov ah,2

int 21h

mov dx,di

mov ah,9

int 21h

mov ah,4ch

int 21h

end

9. Задания

1. В массиве из десяти элементов найти максимальный элемент и его индекс.

2. В массиве из восьми элементов найти минимальный элемент и его индекс.

3. В массиве из двадцати элементов найти максимальный элемент из четных.

4. В массиве из пятнадцати элементов найти минимальный элемент из нечетных.

5. Определить, является ли последовательность введенных чисел возрастающей.

6. Определить количество элементов, кратных трем, в массиве из десяти элементов.

7. В массиве из семнадцати элементов определить количество элементов, кратных пяти, имеющих нечетный индекс.

10. Контрольные вопросы

1.Что такое сегментация памяти?

2. Из чего состоит микропроцессор?

3. Какие существуют группы регистров микропроцессора?

4. Как работают регистры общего назначения?

5. Как работают регистры – указатели?

6. Как работают индексные регистры?

7. Как используются сегментные регистры?

8. Для чего используется регистр флагов?

9. По какому принципу устроена стековая память?

10. Как организован ввод-вывод данных в программе на ассемблере?

11. Как работает операция умножения операндов?

12. Как работает операция деления операндов?

31

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]