Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая.docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
128 Кб
Скачать
☆

2 Практический раздел

2.1 Индивидуальное задание практической части

Задача:

Дан массив из 8 байт. Рассматривая его как массив логических значений (true есть не нулевые биты в байте, false все биты нулевые), вычислить логическую формулу:

Решение:

include io.asm

data segment

mas db 8 dup (?) ;исходный массив

x db 8 dup (?)

f dw ?

data ends

code segment

assume CS:code,ds:data

start: mov ax,data

mov ds,ax ;загрузить сегментный адрес данных

;ввод элементов массива

mov cx,8

mov bx, offset mas ;перенос первых байтов массива в ячейку bx

m4: inint ax ;ввод знака целого числа

mov [bx],al ;переходим в [bx],адрес которого лежит в al

inc bx ;увеличение значения bx в регистре

loop m4 ;возвращение на метку m4

mov cx,8

mov bx,offset mas ;в bx записывается адрес начала mas

xor si,si ; обнуление si

m3: mov al,[bx] ;в al записывается начала массива [bx]

cmp al,0 ;сравнение al с 0

je m1 ;прыжок на метку m1

mov x[si],1 ;записывание 1 в x[si]

jmp m2 ;выполнение условного перехода на метку m2

m1: mov x[si],0 ;записывание 0 в x[si]

; outint x[si],2 ;вывод целого числа

m2: inc bx ;увеличение значения bx в регистре

inc si ;увеличение значения si в регистре

loop m3 ;возвращение к метке m3

xor al,al ;обнуление al

mov al,x[7] ;занесли в al значение х[7]

and al,x[6] ;х[7] and x[6]

and al,x[1] ;х[6] and [1]

mov ah,x[6] ;занесли в аh значение х[6]

and ah,x[4] ;х[6] and х[4]

and ah,x[2] ;х[4] and х[2]

and ah,x[1] ;х[2] and х[1]

and ah,x[0] ;х[1] and х[0]

mov bl,x[7] ;занесли в bl значение х[7]

and bl,x[6] ;х[7] and х[6]

and bl,x[3] ;х[6] and х[3]

and bl,x[1] ;х[3] and х[1]

or al,ah

or al,bl

cbw ;расширение байта до ворда

mov f,ax ;переходим с ах на f

outint f ;вывод результата f

finish ;завершение программы

;стандартное завершение программы

;mov ah,4ch

;int 21h

code ends

end start

Заключение

В ходе выполнения курсовой работы были изучены основные сведения о языке Ассемблер. В основные сведения входили структура и компоненты программы на Ассемблере, формат команд, представление данных в памяти, режим адресации, рассмотрение программ-дизассемблер и др.

Повторили виды битовых операций, логику и формат логических команд Ассемблера.

Рассмотрели примеры использования логических команд в Ассемблере.

Сделали решение и описание задачи. Предоставили скрин индивидуального задания с применением логических битовых операций в Ассемблере.

Все поставленные задачи решены.

Список литературы

  1. http://progopedia.ru/language/assembler/

  2. Аблязов Р.- Программирование на Ассемблере на платформе х86,х64, 2011 г.

  3. Столяров А.- Программирование на языке Ассемблера Nasm для OC Unix, 2011 г.

  4. Владислав Пирогов.- Ассемблер и дизассемблирование. 2006 г.,464 стр.

  5. Калашников О.А.- Ассемблер? Это просто!, 2008 г.

  6. https://bobych.ru/lection/informatika/glava2.html

  7. Вострикова З.П.- Программирование на языке ассемблера ЕС ЭВМ. М.: Наука, 1985г.

  8. Юров В., Хорошенко С., Assembler : учебный курс. 2000 г., 672 стр.

21

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