Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
base.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
494 Кб
Скачать
☆

Inc di ;збільшую di

loop m1 ;виконати цикл

mov [di],bl ;заношу bl на наступний елемент

mov di,0 ;занульовую di

mov ah,[di] ;заношу перший елемент в аh

add di,1 ;переходжу на другий елемент

mov al,[di] ;заношу другий елемент в а1

add di,1 ;перехід на третій елемент

mov bh,[di] ;заношу третій елемент в bh

add di,1 ;перехід на 4й елемент

mov bl,[di] ;заношу 4-й елемент в bl

add di,1 ;перехід на наступний елемент

mov ch,[di] ;занесення елемента в ch

add di,1 ;перехід на останній елемент

mov cl,[di] ;занесення в cl

xor dx,dx ;очищую dx

xor ax,ax ;очищую ax

lea di,a ;заношу вже зсунутий масив в di

mov ah,9h ;функція виведення результату

int 21h ;виведення

.exit 0 ;вихід

End

Обчислити кількість цілих чисел з діапазону [-125, 348], у десятковому записі яких є цифра 3.

.model small

.stack 100h

.data

a dw -125

b dw 348

n dw 474

k dw 0

ten db 10

Z dw ' ','$'

.code

.startup

xor ax,ax

mov cx,n

m1:

mov ax,a

cmp a,0

je m4

jg m2

NEG ax

m2:

div ten

cmp ah,3

je m3

cmp al,0

je m4

xor ah,ah

loop m2

m3: inc k

m4: inc a

loop m1

xor ax,ax

.exit 0

End

Обчислити кількість цілих чисел з діапазону [-125, 348], у десятковому записі яких є цифра 3.

.model small

.stack 100h

.data

a dw -125

b dw 348

n dw 474

k dw 0

ten db 10

Z dw ' ','$'

.code

.startup

xor ax,ax

mov cx,n ;всановлюю кількість повторень циклу 474

m1: ;перша мітка

mov ax,a ;заношу в регістр ах число для порівняння

cmp a,0 ;порівнюю з нулем

je m4 ;якщо рівний, то стрибаємо на m4(ink a

jg m2 ;якщо більший, то перехід на m2

NEG ax ;зміна знаку

m2: ;друга мітка

div ten ;ділимо число з регістру ах на 10

cmp ah,3 ;порівнюю залишок з 3

je m3 ;якщо залишок рівний 3, то стрибаємо на m3

cmp al,0 ;порівнюю цілу частину з 0

je m4 ;якщо рівний, то стрибаємо на m4(ink a)

xor ah,ah ;очищаємо дробову частину

loop m2 ;переходимо на початок циклу ділення - m2

m3: inc k ;третя мітка, збільшення лічильника на 1

m4: inc a ;четверта мітка, збільшення числа на 1

loop m1 ;переходимо на початок основного циклу - m1

xor ax,ax

.exit 0

End

Знайти кількість додатних елементів одновимірного масиву цілих чисел.

.model small

.stack 200h

.data

n=10

a dw 1,-2,3,-4,5,-6,7,-8,9,-10

k db 0

.code

.startup

xor si,si

mov cx,n

l1:

cmp A[si],0

jle l2

inc k

l2:

add si,2

loop l1

.exit 0

End

Визначити, чи задане натуральне число n є досконалим, тобто чи воно дорiвнює сумi усiх своїх додатнiх дiльникiв, крiм самого себе.

.8086

.model small

.stack 200h

.data

N=6

S db 0

.code

.startup

mov bl,1

m1:

mov ax,n

div bl ;ax=n div bl

cmp ah,0

jne m2

add S,bl

m2:

inc bl

cmp bl,n

jle m1

sub s,n

.exit

end @startup

Знайти кількість елементів двовимірного масиву цілих чисел, більших від заданого значення.

.8087

.model small

.stack 200h

.data

N=3

M=4

A dw 3,4,5,6

dw 1,0,6,4

dw 0,5,14,10

N=4

K db 0

.code

.startup

mov cx, N

xor bx, bx

xor si, si

mov ax, a[bx][si]

m1:

push cx

mov cx, M

m2:

cmp ax, N

jle m3

inc K

m3:

add si, 2

loop m2

pop cx

add bx, si

xor si,si

loop m1

.exit

end @startup

;15. Оголосити та визначити двовимірний масив з 4 х 5 цілих чисел. Обміняти значення

;елемента, що знаходиться на перетині 4-го рядка та 2-го стовпчика, зі значенням

;регістра CX=25, використовуючи режим адресування за базою з індексуванням.

.8086

.model small

.stack 100h

.data

Z DW 25

M EQU 2

MATRIX DW 1,2,3,4,5

DW 6,7,8,9,10

DW 11,12,13,14,15

DW 16,17,18,19,20

.code

.startup

mov cx,Z

lea bx, MATRIX

mov si,M*15

mov ax,[bx][si]+4

mov ax,cx

int 21h

END

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