У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент


Інститут менеджменту та економіки “Галицька Академія”

КУРСОВА РОБОТА

з дисципліни Системне програмування

Тема – Проектування системного програмного забезпечення для обчислювального пристрою обробки та передавання даних на базі персонального комп’ютера.

ЗМІСТ

Стор

1. Блок-схема алгоритму обробки та передавання даних на базі персонального комп’ютера ………………………………………………………………….................7

2. Текст програми мовою ASSEMBLER………………................................................9

4. ВИСНОВКИ..............................................................................................................13

5. ПЕРЕЛІК ВИКОРИСТАНИХ ЛІТЕРАТУРНИХ ДЖЕРЕЛ.................................14

КР.КІз-10.00.00.000 ПЗ

Зм. | Лист | № докум | Підпис | Дата

Розроб. | Псюк |

Проектування системного програмного забезпечення для обчислювального пристрою обробки та передавання даних на базі персонального комп’ютера. |

Літ. | Арк. | Аркушів

Перевір. | Іщеряков | 6 | 14

Реценз. | ІМЕ ГА

Н.Контр.

Затверд.

1. Блок-схема алгоритму обробки та передавання даних на базі персонального комп’ютера

Арк.

7

Зм. | Арк. | № докум | Підпис | Дата

Арк.

8

Зм. | Арк. | № докум | Підпис | Дата

2. Текст програми мовою ASSEMBLER

.model small

.stack 100h

.data

f1 DB 'f1',0

f2 DB 'f2',0

f3 DB 'f3',0

f4 DB 'f4',0

f5 DB 'f5',0

buf_max db 0

buf_min db 0

.code

start:

mov ax,@data

mov ds,ax

mov es,ax

mov dx,3feh

in al,dx

or al,80h

out dx,al

mov dl,f9h ; встановлення швидкості 19200 к/б

xor al,al

out dx,al

dec dl

mov al,6

out dx,al

mov dl,feh

in al,dx

and al,7fh

out dx,al

;--------------------------------------------------

; створення файлу 1

mov ah,3ch

xor cx,cx ; cx = 0

lea dx,f1 ;загрузка адреса імені файла

int 21h

; перевірка на помилку

jc m

mov [0100h],ax

Арк.

8

Зм. | Арк. | № докум | Підпис | Дата

; читання 256 байт з СОМ порта і запис у файл 1

mov cx,100h ;кількисть елементів 256 б,об'єм масиву

mov bx,[0100h]; початкова адреса

m2:

mov dx,3fbh ;dx - адреса регістру порту з ознакою завершення приймання

m1:

in al,dx ;al - регістр порту з ознакою прийманя

shr al,1 ;

jnc m1 ;якщо cf не = 1, продовжуємо очікувати завершення команд

mov dl,f8h ;dx - адреса регістру порту з прийнятим байтом

in al,dx ;al - прийнятий байт

mov [bx],al ;занесеня прийнятого байта до масиву

inc bx ;підготовка нової адреси масиву

loop m2 ;повтор циклу

; закрити ф1

mov ah,3eh

mov bx,[0100h]

int 21h

;--------------------------------------------------

; створення файлу 2

mov ah,3ch

xor cx,cx

lea dx,f2

int 21h

; перевірка на помилку

jc m

mov [0200h],ax ; створення файлу 2

; читання 256 байт з СОМ порта і запис у файл 2

mov cx,100h ;кількисть елементів 256 б,об'єм масиву

mov bx,[0100h]; початкова адреса

m4:

mov dx,3fbh ;dx - адреса регістру порту з ознакою завершення приймання

m3:

in al,dx ;al - регістр порту з ознакою прийманя

shr al,1 ;

jnc m3 ;якщо cf не = 1, продовжуємо очікувати завершення команд

mov dl,f8h ;dx - адреса регістру порту з прийнятим байтом

in al,dx ;al - прийнятий байт

mov [bx],al ;занесеня прийнятого байта до масиву

inc bx ;підготовка нової адреси масиву

loop m4 ;повтор циклу

Арк.

9

Зм. | Арк. | № докум | Підпис | Дата

 

; закрити ф2

mov ah,3eh

mov bx,[0200h]

int 21h

;--------------------------------------------------

; створення файлу 3

mov ah,3ch

xor cx,cx

lea dx,f3 ;загрузка адреса імені файла

int 21h

; перевірка на помилку

jc m

; читання 256 байт з СОМ порта і запис у файл 3

mov cx,100h ;кількисть елементів 256 б,об'єм масиву

mov bx,[0100h]; початкова адреса

m6:

mov dx,3fbh ;dx - адреса регістру порту з ознакою завершення приймання

m5:

in al,dx ;al - регістр порту з ознакою прийманя

shr al,1 ;

jnc m5 ;якщо cf не = 1, продовжуємо очікувати завершення команд

mov dl,f8h ;dx - адреса регістру порту з прийнятим байтом

in al,dx ;al - прийнятий байт

mov [bx],al ;занесеня прийнятого байта до масиву

inc bx ;підготовка нової адреси масиву

loop m6 ;повтор циклу

; закрити ф3

mov ah,3eh

mov bx,[0300h]

int 21h

\

;--------------------------------------------------

; створення файлу 4

mov ah,3ch

xor cx,cx

lea dx,f4 ;загрузка адреса імені файла

int 21h

; перевірка на помилку

jc m

mov [0200h],ax

Арк..

10

Зм. | Арк. | № докум | Підпис | Дата

; читання 256 байт з СОМ порта і запис у файл 4

mov cx,100h ;кількисть елементів 256 б,об'єм масиву

mov bx,[0100h]; початкова адреса

m8:

mov dx,3fbh ;dx - адреса регістру порту з ознакою завершення приймання

m7:

in al,dx ;al - регістр порту з ознакою прийманя

shr al,1 ;

jnc m7 ;якщо cf не = 1, продовжуємо очікувати завершення команд

mov dl,f8h ;dx - адреса регістру порту з прийнятим байтом

in al,dx ;al - прийнятий байт

mov [bx],al ;занесеня прийнятого байта до масиву

inc bx ;підготовка нової адреси масиву

loop m8 ;повтор циклу

; закрити ф4

mov ah,3eh

mov bx,[0400h]

int 21h

;--------------------------------------------------

; створення файлу 5

mov ah,3ch

xor cx,cx

lea dx,f5 ;загрузка адреса імені файла

int 21h

; перевірка на помилку

jc m

mov [0500h],ax

;--------------------------------------------------

; відкрити ф1 для читання

mov ax,3d00h

lea dx,f1

int 21h

; перевірка на помилку

jc m

mov [0100h],ax

mov ah,40h ; функція читання з файлу

mov bx,ax

mov cx,100h

mov dx,offset buffer ; адреса буфера (масива) в пам"яті

int 21h

Арк.

11

Зм. | Арк. | № докум | Підпис | Дата

; закрити ф1

mov ah,3eh

mov bx,[0100h]

int 21h

; пошук максимального та мінімального елемнтів

;пошук max значення

mov cx,100h

mov bx,0102h

mov ax,[0100h]; ax=x0=max

m10:

cmp ax,[bx]

jnc m9

mov ax,[bx]

m9:

inc bx

inc bx

loop m10

;пошук min значення

mov cx,100h

mov bx,0102h

mov ax,[0100h]; ax=x0=max

m12:

cmp ax,[bx]

jc m11

mov ax,[bx]

m11:

inc bx

inc bx

loop m12

; запис їх у ф5

mov dx, offset buf_max ; адреса памяті де зберігається max елемент

mov cx,2

mov ah,40h ;задання номера функції читання

mov bx,[0500h] ; загрузка дискриптора

mov dx, offset buf_min ; адреса памяті де зберігається min елемент

mov cx,2

mov ah,40h ;задання номера функції читання

mov bx,[0500h] ; загрузка дискриптора

Арк.

12

Зм. | Арк. | № докум | Підпис | Дата

;--------------------------------------------------

; відкрити ф2 для читання

mov ax,3d00h

lea dx,f2

int 21h

; перевірка на помилку

jc m

mov [0100h],ax

mov ah,40h ; функція читання з файлу

mov bx,ax

mov cx,100h

mov dx,offset buffer ; адреса буфера (масива) в пам"яті

int 21h

; закрити ф2

mov ah,3eh

mov bx,[0200h]

int 21h

; пошук максимального та мінімального


Сторінки: 1 2