- •Знайти кількість елементів двовимірного масиву цілих чисел, які потрапляють в інтервал [-5, 10].
- •Кількість цілих чисел з діапазону [40, 280], які діляться на 3 та на 5.
- •Кількість непарних елементів одновимірного масиву цілих чисел:
- •Inc di ;збільшую di
- •Знайти кількість від’ємних елементів двовимірного масиву цілих чисел.
- •Виконати шифрування/дешифрування рядка символів, використовуючи операції циклічного зсування байтів рядка на задану кількість позицій.
- •Ввести рядок і слово. Перевірити, чи слово входить у рядок. Знайти позицію входження. (трошки не працює).
- •Використовуючи логічні операції знайти контрольну суму рядка символів. Контрольна сума – це кількість одиниць у двійковому записі кодів символів.
- •Ввести речення. Відредагувати його так, щоб між словами було не більше одного пропуску.
- •Ввести рядок з клавіатури і посортувати символи в алфавітному порядку.
- •Int 21h ; ввести рядок
- •Написати програму на мові Assembler, яка підраховує кількість одиничних бітів у введеному з клавіатури слові.
- •Ввести рядок з клавіатури і порахувати кількість символів у слові.
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
