logo
Проектирование устройства для приема данных

6. Программа

0FF0h: jmp 0000h; переход на начало инициализации устройств (CS=0C00h)

; - ----------------------------начало инициализации - -----------------------------

000h: mov ax, 0000h

mov ss, ax

mov ds, ax; инициализация сегментов

mov ax, 0400h

mov sp, ax

; - --------------------------------------инициализация К1810ВТ37----------------

mov al, 01000000b

out 11101000b, al; запись в регистр команд управления

mov cx, 0004h; количество циклов равно числу каналов КПДП

mov bl, 11100000b

mov dl, 10000100b; режим блочной передачи

01Ah: out 11101011b, dl; запись в регистр режима

mov al, 00h

out bl, al; загрузка мл. байта в регистры BAR и CAR

mov al, 00h

out bl, al; загрузка ст. байта в регистры BAR и CAR

inc bl

mov al, 0e9h

out bl, al; загрузка мл. байта в регистры WCR и CWR

mov al, 03h

out bl, al; загрузка ст. байта в регистры WCR и CWR

inc bl

inc dl

loop 001Ah

; - ------------------------------------инициализация КР580ВВ51-----------------

mov al, 11111110b

out 11011111b, al; асинхронный режим

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

035h: mov al, 00000100b

out 11101001b, al; установка запроса на ПДП (канал 0)

039h: in al, 11101000b; чтение регистра состояния

cmp al, 11110001b

jne 0039h; переход на метку если TCканала 0 ? 1

mov cx, 03e8h; количество циклов, равное N0

mov si, 0000h

mov ah, 00h

046h: mov al, [si]; загрузка в al очередного отсчета

cmp al, ah; проверка на max

jb 004Eh; переход на метку если al < ah

mov ah, al; запись al в ah

04Eh: inc si

loop 0046h

mov al, 00100001b

out 11011111b, al; запись в ВВ51 инструкции команды

out 11011110b, ah; вывод отсчета с max значения в ВВ51