Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Тестування бітів

Автор:   •  Декабрь 20, 2022  •  Лабораторная работа  •  419 Слов (2 Страниц)  •  143 Просмотры

Страница 1 из 2

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

Тестування бітів

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

Завдання для роботи

 Згідно номеру студента в групі вибрати варіант завдання і написати на Асемблер програму для тестування бітів згідно поданої в завданні умови.

[pic 1]

Код програми:

include win64a.inc ;

count PROTO arg_a:QWORD

.data

_title db "Лабораторна робота №5.Тестування бітів",0

info db "Завдання: Задано масив А з N = 60 елементів. Створити програму для визначення кількості елементів масиву А, які задовольняють умові L <= Ai <= M, де L = 4 і M = 18.",0Ah,0Dh,10,"Результат: %d чисел задовільнять умову.",0Ah,0Ah,"Автор: студент",10,9, 0

x1 dq -5,-4,-3,-2,-1,0,1,2,3,4

   dq 5,6,7,8,9,10,11,12,13,14

   dq 15,16,17,18,18,19,20,21,22,23

   dq 24,25,26,27,28,29,30,32,33,34

   dq 35,36,37,38,39,40,41,42,43,44

   dq 45,46,47,48,49,50,51,52,53,54

len1 equ ($-x1)/type x1 ; визначення довжини масиву x1

buf dq 0,0

res dq 0

L dq 4

M dq 18

.code

count proc arg_a:QWORD

lea rdi,x1

xor rcx,rcx

mov rcx,len1

xor r8,r8

xor r9,r9

mov r8,L

mov r9,M

@1:

mov rax,[rdi]

add rdi,8

cmp rax,r8

jl @2

cmp rax,r9

jg @2

inc res

@2:

loop @1

ret

count endp

WinMain proc

sub rsp,28h

mov rbp,rsp

invoke count,len1

invoke wsprintf,ADDR buf,ADDR info,res;

invoke MessageBox,0,addr buf,addr _title,MB_ICONINFORMATION

invoke ExitProcess, 0

WinMain endp

End

Результат компілювання:

[pic 2]

[pic 3]

Код програми:

;Підрахунок суми елементів масиву, для яких біти 1 і 3 співпадають

 

include win64a.inc

err1 PROTO arg_a:QWORD ; !!! визначення прототипу

.data

buf dq ?,0

ifmt db "Задано масив із 30 елементів:",0dh,0ah,"10, 12, 43, 54, 8",10,"dw 10 dup(4)",10,10,"dw 15 dup(2)",10,10,"Сума елементів масива, для яких біти 1 и 3 співпадають: =%d ",10,10," [10]=00001010, [12]=00001100, [43]=00101011, [54]=00110110 [8]=00001000 [4]=00000100 [2]=00000010 ",10,10,"Автор : ",0

...

Скачать:   txt (4.7 Kb)   pdf (200.4 Kb)   docx (771.6 Kb)  
Продолжить читать еще 1 страницу »
Доступно только на Essays.club