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


ASCII-код старшої тетради молодшого байту

add al,30h

cmp al,39h

jbe mit2

add al,7h

mit2:

mov buf,al ;зберігаю його в буфері

mov ah,40h ;функція запису в файл

mov bx,diskr2 ;дескриптор файлу

mov dx,offset buf ;адреса буферу з ASCII-кодом

mov cx,1 ;кількість байт необхідних для запису

int 21h ;переривання

mov ax,stck ;відновлюю введені дані

and al,0fh ;утворюю ASCII-код молодшої тетради молодшого байту

add al,30h

cmp al,39h

jbe mit3

add al,7h

mit3:

mov buf,al ;зберігаю його в буфері

mov ah,40h ;функція запису в файл

mov bx,diskr2 ;вказую дескриптор файлу

mov dx,offset buf ;ініціалізую адресу буфера з даними

mov cx,1 ;вказую кількість байт для запису

int 21h ;переривання DOS

mov buf,' '

mov ah,40h ;функція запису в файл

mov dx,diskr2 ;вказую дескриптор файлу

mov dx,offset buf ;ініціалізую адресу буфера з даними

mov cx,1 ;вказую кількість байт для запису

int 21h переривання DOS

mov ax,stck

mov bx,ax

rcr bl,1

jc no_parity

mov bp,diskr3

;вхідні дані:

;al - data

;dx - descriptor

call write

jmp permit

no_parity:

mov bp,diskr4

call write

permit:

rcr bh,1

jc no_parity1

mov al,ah

mov bp,diskr3

call write

jmp permit1

no_parity1:

mov al,ah

mov bp,diskr4

call write

permit1:

inc di ;збільшення di на одиницю

inc di ;збільшення di на одиницю

pop cx

dec cx ;зменшення cx на одиницю

dec cx ;зменшення cx на одиницю

jz mon

jmp ma2

mon:

popa

ret

output endp

input proc

pusha

mov di,offset in_arr

mov cx,circle

mov dx,300h

in_isa:

in al,dx

mov [di],al

inc di

loop in_isa

popa

ret

input endp

close proc

pusha

mov ah,3eh ; функція закриття файлу

mov bx,diskr1 ; зберігаємо ідентифікатор відкритого файлу, який

; отриманий в регістрі ах після його створення

int 21h ; виклик переривання DOS

mov bx,diskr2 ; зберігаємо ідентифікатор відкритого файлу, який

; отриманий в регістрі ах після його створення

int 21h ; виклик переривання DOS

mov bx,diskr3 ; зберігаємо ідентифікатор відкритого файлу, який

; отриманий в регістрі ах після його створення

int 21h ; виклик переривання DOS

mov bx,diskr4 ; зберігаємо ідентифікатор відкритого файлу, який

; отриманий в регістрі ах після його створення

int 21h ; виклик переривання DOS

popa

ret

close endp

write proc

pusha ;збереження в стек регістрів

pusha ;збереження в стек регістрів

cmp bp,diskr3

je d3

jmp d4

d3:

mov ah,09h ;вивід рядка на екран

mov dx,offset f3 ;адреса рядка

int 21h ;переривання DOS

jmp permit3

d4:

mov ah,09h ;вивід рядка на екран

mov dx,offset f4 ;адреса рядка

int 21h ;переривання DOS

permit3:

popa

xor ah,ah

push ax

shr al,4 ;зсуваєм al на 4 біта вправо

add al,30h

cmp al,39h

jbe mita4

add al,7

mita4:

mov buf,al

mov ah,40h ;функція запису в файл

mov bx,bp

mov dx,offset buf ;ініціалізую адресу буфера з даними

mov cx,1 ;вказую кількість байт для запису

int 21h

mov al,buf

xor ah,ah

mov ah,02h

mov dx,ax

int 21h

pop ax

and al,0fh

add al,30h

cmp al,39h

jbe mita5

add al,7

mita5:

mov buf,al

mov ah,40h ;функція запису в файл

mov bx,bp

mov dx,offset buf ;ініціалізую адресу буфера з даними

mov cx,1 ;вказую кількість байт для запису

int 21h

mov al,buf

xor ah,ah

mov ah,02h

mov dx,ax

int 21h

mov al,' '

mov buf,al

mov ah,40h ;функція запису в файл

mov bx,bp

mov dx,offset buf ;ініціалізую адресу буфера з даними

mov cx,1 ;вказую кількість байт для запису

int 21h

mov ah,09h ;вивід рядка на екран

mov dx,offset exit

int 21h

popa

ret

write endp

end main

Висновки

В процесі виконання курсового проекту було досягнуто кінцевої мети – спроектовано програмне та апаратне забезпечення для обчислювального пристрою приймання, обробки та передавання даних на базі персонального комп’ютера.

Розроблене проектування програмного та апаратного забезпечення можна легко вдосконалити оскільки принцип будови дозволяє вносити зміни в проектування не порушуючи його основної будови.

Література

Основна:

1. Зубков С.В. Assembler для DOS, Windows и UNIX – 3-е изд., стер. – М.: ДМК Пресс; СПб.: Питер, 2004. – 608с.

2. Джорден Р. Справочник программиста персональных компьютеров типа IBM PC, XT и AT: Пер. с англ./ Предисл. Н.В. Гайского. – М.: Финансы и статистика, 1992. – 544с.

3. Фролов А.В., Фролов Г.В. MS-DOS для программиста. – М.: ДИАЛОГ-МИФИ, 1995. – 256с.

4. Системное программное обеспечение. Учебник для вузов/ А.Ю. Молчанов. - СПб: Питер, 2003. – 396 с.

5. Костельцев А.В. Построение интерпретаторов и компиляторов. – СПб: Наука и техника, 2001. – 224 с.

Додаткова:

1. Компаниец Р.И., Маньков Е.В., Филатов Н.Е. Системное програмирование. Основы построения трансляторов. - С-П: Корона принт, 2000.

2. Харт, Джонсон. Системное программирование в среде Win32. 2-е изд. Пер.с англ. – М.: Издательский дом „Вильямс”, 2001. – 464 с.: ил.

3. Гук М. Дисковая подсистема ПК. - СПб.: Питер, 2001. – 336с.: ил.

4. Юров В.Assembler. Специальный справочник. – СПб.: Питер, 2001. – 496 с.: ил.

5. Пирогов В.Ю. Assembler. Учебный курс. - М.: Нолидж, 2001.

Опис принципової схеми

З приходом імпульса з генератора на вхід С регістра DD8 дані записуються в нього.

Коли вхід R лічильника DD4 скидається в 0, імпульс генератора інкрементує значення на лічильнику DD4. Коли на Q4 – «одиниця», відкривається ключ DD7 і дані зсуваються і передаються через СОМ – порт послідовно.

Через вісім тактів лічильник скидається в «нуль», і тоді з приходом імпульса від генератора відбувається паралельний запис.


Сторінки: 1 2