Turbo Assembler Version 2.01 11/12/00 03:49:04
prog1.asm
1 ;***************************************************************
2 ; Михалевич Михаил
3 ; А-9-97
4 ; Программное обеспечение для МПС
5 ; (реализованной на базе процессора 1810ВМ86)
6 ;***************************************************************
7 0000 .model tiny
8 0000 .code
9 org 7FF0h ;Указание начального адреса программы в ПЗУ
10 ;(с учетом того, что старшие
11 ;адреса в данной МПС не используются)
12 7FF0 start:
13 7FF0 E9 C00D 90 90 JMP far ptr BEGIN ;переход на реальное начало программы
14 org 4000h
15 4000 BEGIN label far ;начало программы по адресу 4000h
16 ; Установка сегментных регистров, организация стека,
17 ; программирование параллельного интерфейса, таймера,
18 ; контроллера прерываний, контроллера дисплея и клавиатуры
19 4000 FA cli ;Запрещение всех аппаратных прерываний.
20 ; Организация стека.
21 ; Установка сегментных регистров
22 4001 33 C0 xor ax,ax
23 4003 8E D0 mov ss,ax
24 4005 BC 0FFF mov sp,0FFFh ; 0FFFh - старшая ячейка ОЗУ
25 4008 8E D8 mov ds,ax
26 ;Программирование параллельного интерфейса .
27 ; Порт А - вывод информации (значения Q4 через ЦАП)
28 ; разряды С0-С2 порта С вывод - Y1-Y3
29 ; разряд C3 порта C - вывод сигнала "Авария"
30 ; разряды С4-С7 порта С - ввод значений Х1-Х4
31 400A B0 8A mov al,10001010b
32 400C 32 C0 xor al,al
33 400E E6 53 out [53h],al
34 ;Программирование контроллера прерываний.
35 ;СКИ1
36 4010 B0 12 mov al,byte ptr 00010010b
37 4012 E6 40 out [40h],al
38 ; СКИ2
39 4014 B0 00 mov al,byte ptr 00000000b
40 4016 E6 41 out [41h],al
41 ; Заполнение таблицы векторов прерываний.
42 ;Прерывание 0
43 4018 33 DB xor bx,bx
44 401A C7 07 40C8r mov [bx],offset IRQ0;
45 401E C7 47 02 0000s mov [bx+2],word ptr seg IRQ0
46 ;Прерывание 1
47 4023 C7 47 04 4155r mov [bx+4],offset IRQ1;
48 4028 C7 47 06 0000s mov [bx+6],word ptr seg IRQ1
49 ;Прерывание 2
50 402D C7 47 08 41AAr mov [bx+8],offset IRQ2;
51 4032 C7 47 0A 0000s mov [bx+10],word ptr seg IRQ2
52 ; Программирование контроллера клавиатуры/дисплея
53 4037 B0 01 mov al,00000001b
54 4039 E6 49 out [49h],al
55 403B B0 39 mov al,39h ;частота перебора линий сканирования
56 403D E6 49 out [49h],al
57 ;гашение всех индикаторных элементов.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.