Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная работа №2 / Отчет по предмету Машинно-Ориентированное программирование

.docx
Скачиваний:
19
Добавлен:
29.12.2020
Размер:
274.54 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ КЫРГЫЗСКОЙ РЕСПУБЛИКИ

КЫРГЫЗСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ

УНИВЕРСИТЕТ ИМ. И. РАЗЗАКОВА

Отчет

Бишкек 2020

Мой вариант: Построить слово, каждый бит которого равен I или 0 в зависимости от того совпадают ли старшие триады одноименных байтов массивов А и В, состоящие из 16 элементов каждый.

Код:

include io.asm

stack1 segment

db 256 dup(?)

stack1 ends

data segment

A dw 16 dup(5,1,2,3,4,5,6,7,8,9,4,3,9,1,2,7)

B dw 16 dup(0,1,2,0,4,0,5,7,8,9,4,3,9,1,3,7)

;0110100111111101

data ends

code segment

start:

ASSUME SS:STACK1, DS: Data, CS:Code

mov ax,data

mov ds,ax

mov cx,16

mov si,0

mov di,0

mov bx,0

a2: mov dx,0

mov ax,0

mov ax,A[si]

and ax,1110000000000000b

mov dx,B[si]

and dx,1110000000000000b

cmp ax,dx

je a1

shr bx,1

jmp h

a1: or bx,1000000000000000b

shr bx,1

h:add si,2

loop a2

outint bx

mov ah,10h

int 16h

mov ah,4ch

int 21h

code ends

end start

Фото результата:

Получаем результат: 32767, переводим в двоичный код и получаем число в 2-ой системе счисления: 111111111111111

32767 = 1111111111111112