Важная информация

User Tag List

Показано с 1 по 10 из 4535

Тема: ДВК (и всё, что с ними связано)

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11
    Veteran Аватар для Andrey_Ak
    Регистрация
    29.01.2009
    Адрес
    Казахстан, Алматы
    Сообщений
    1,670
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    15
    Поблагодарили
    7 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Программа для сканирования адресов установленного оборудования
    в PDP11, Эл.60, ДВК. Предоставлена и написана тов. Form

    IOSCAN -- SCAN I/O PAGE MACRO V05.06 MONDAY 25-MAY-09 23:01 PAGE 1


    1 .TITLE IOSCAN -- SCAN I/O PAGE
    2 .IDENT /V01.00/
    3
    4 177564 TPS = 177564
    5 000015 CR = 15
    6 000012 LF = 12
    7
    8 000000 .ASECT
    9 001000 .=1000
    10
    11 001000 012706 001000 IOSCAN: MOV #IOSCAN,SP ;УСТАНОВИТЬ СТЕК
    12 001004 012737 001246 000100 MOV #RETURN,@#100 ;УСТАНОВИТЬ ОБРАБОТЧИК ПРЕРЫВАНИЯ
    ;ОТ ТАЙМЕРА
    13 001012 000005 RESET ;СБРОСИТЬ ЖЕЛЕЗО
    14 001014 012705 177564 MOV #TPS,R5 ;РЕГИСТР СОСТОЯНИЯ ЭКРАНА В R5
    15 001020 012737 001240 000004 MOV #TRAP04,@#4 ;УСТАНОВИТЬ ОБРАБОТЧИК ПРЕРЫВАНИЯ
    ;ПО НЕСУЩЕСТВУЮЩЕМУ/НЕЧЕТНОМУ АДРЕСУ
    16 001026 012737 000340 000006 MOV #340,@#6 ;...ПРИОРИТЕТ ПРОЦЕССОРА ПОСЛЕ ПРЕРЫВАНИЯ
    17 001034 012704 160000 MOV #160000,R4 ;УСТАНОВИТЬ НАЧАЛО СТРАНИЦЫ ВВОДА-ВЫВОДА
    18 001040 005001 CLR R1 ;ОЧИСТИТЬ АДРЕС НАЧАЛА БЛОКА
    19 001042 005714 10$: TST @R4 ;ПРОВЕРИТЬ АДРЕС (КОМАНДА TST СБРАСЫВАЕТ
    ;БИТ C, ЕСЛИ АДРЕСА НЕТ - НАШ ОБРАБОТЧИК
    ;ПРЕРЫВАНИЯ ЕГО УСТАНОВИТ
    20 001044 103415 BCS 40$ ;ЕСЛИ C - НЕТУ АДРЕСА
    21 001046 010403 MOV R4,R3 ;АДРЕС ЕСТЬ - УСТАНОВИТЬ КАК КОНЕЧНЫЙ В БЛОКЕ
    22 001050 005701 TST R1 ;А НАЧАЛО СОБСТВЕННО ЕСТЬ?
    23 001052 001001 BNE 20$ ;ЕСТЬ, УХОДИМ
    24 001054 010301 MOV R3,R1 ;НЕТУ - ДЕЛАЕМ РАВНЫМ КОНЦУ
    25 001056 062704 000002 20$: ADD #2,R4 ;ПЕРЕХОДИМ НА СЛЕДУЮЩИЙ АДРЕС
    26 001062 001367 BNE 10$ ;ЕСЛИ НЕ РАВНО 0 ЕЩЕ ЕСТЬ АДРЕСА
    27 001064 005701 TST R1 ;СТРАНИЦА КОНЧИЛАСЬ. ЕСТЬ ЧТО ВЫВОДИТЬ?
    28 001066 001402 BEQ 30$ ;НЕТ, УХОДИМ
    29 001070 004767 000014 CALL PRANGE ;ЕСТЬ, ПЕЧАТАЕМ
    30 001074 000000 30$: HALT ;ОСТАНАВЛИВАЕМСЯ
    31 001076 000740 BR IOSCAN ;НА НАЧАЛО ЕСЛИ НАЖАТ P В ПУЛЬТЕ

    32 001100 005701 40$: TST R1 ;БЛОК АДРЕСОВ КОНЧИЛСЯ. А ОН БЫЛ?
    33 001102 001765 BEQ 20$ ;НЕТ - ИДЕМ ДАЛЬШЕ
    34 001104 012746 001056 MOV #20$,-(SP) ;ДА - УСТАНАВЛИВАЕМ АДРЕС НА КОТОРЫЙ
    ;ПОДПРОГРАММА ВЕРНЕТСЯ ПО RETURN
    35
    36 001110 112700 000015 PRANGE: MOVB #CR,R0 ;ПЕЧАТАЕМ CR
    37 001114 004767 000106 CALL OUTCHR
    38 001120 112700 000012 MOVB #LF,R0 ;ПЕЧАТАЕМ LF
    39 001124 004767 000076 CALL OUTCHR
    40 001130 010146 MOV R1,-(SP) ;СОХРАНЯЕМ АДРЕС НАЧАЛА БЛОКА
    41 001132 004767 000024 CALL OUTOCT ;И ПЕЧАТАЕМ ЕГО
    42 001136 022603 CMP (SP)+,R3 ;ОН РАВЕН АДРЕСУ КОНЦА БЛОКА?
    43 001140 001407 BEQ 10$ ;ДА, ХВАТИТ ПЕЧАТАТЬ
    44 001142 112700 000055 MOVB #'-,R0 ;НЕТ, ПЕЧАТАЕМ - И АДРЕС КОНЦА
    45 001146 004767 000054 CALL OUTCHR
    46 001152 010301 MOV R3,R1
    47 001154 004767 000002 CALL OUTOCT
    48 001160 000207 10$: RETURN ;ВОЗВРАЩАЕМСЯ
    49
    50 001162 012702 000006 OUTOCT: MOV #6,R2 ;ЧИСЛО ЦИФР
    51 001166 005000 CLR R0 ;ГОТОВИМ МЕСТО ПОД ЦИФРУ
    52 001170 000405 BR 20$ ;ПРОПУСКАЕМ ДВА БИТА (ПЕРВАЯ ЦИФРА - ОДИН БИТ)
    53 001172 005000 10$: CLR R0 ;ГОТОВИМ МЕСТО ПОД ЦИФРУ
    54 001174 006101 ROL R1 ;ЗАДВИГАЕМ ЦИФРУ В R0
    55 001176 006100 ROL R0
    56 001200 006101 ROL R1
    57 001202 006100 ROL R0
    IOSCAN -- SCAN I/O PAGE MACRO V05.06 MONDAY 25-MAY-09 23:01 PAGE 1-1


    58 001204 006101 20$: ROL R1
    59 001206 006100 ROL R0
    60 001210 062700 000060 ADD #'0,R0 ;ПЕРЕВОДИМ В ASCII
    61 001214 004767 000006 CALL OUTCHR ;ПЕЧАТАЕМ
    62 001220 005302 DEC R2 ;УМЕНЬШАЕМ СЧЕТЧИК И ПОВТОРЯЕМ
    ;ПОКА НЕ БУДЕТ 0
    63 001222 001363 BNE 10$ ;...МОЖНО БЫЛО НАПИСАТЬ SOB R2,10$
    64 001224 000207 RETURN ;ВОЗВРАЩАЕМСЯ
    65
    66 001226 105715 OUTCHR: TSTB @R5 ;ПРОВЕРЯЕМ БИТ ГОТОВНОСТИ ЭКРАНА
    67 001230 100376 BPL OUTCHR ;ОН СБРОШЕН - ЖДЕМ ГОТОВНОСТИ
    68 001232 110065 000002 MOVB R0,2(R5) ;ПЕЧАТАЕМ СИМВОЛ
    69 001236 000207 RETURN ;ВОЗВРАЩАЕМСЯ
    70
    71 001240 052766 000001 000002 TRAP04: BIS #1,2(SP) ;УСТАНАВЛИВАЕМ БИТ С В СОХРАНЕННОМ
    ;СЛОВЕ СОСТОЯНИЯ ПРОЦЕССОРА
    72 001246 000002 RETURN: RTI ;ВОЗВРАТ ИЗ ПРЕРЫВАНИЯ
    73
    74 000001 .END
    IOSCAN -- SCAN I/O PAGE MACRO V05.06 MONDAY 25-MAY-09 23:01 PAGE 1-2
    SYMBOL TABLE

    CR = 000015 LF = 000012 OUTOCT 001162 RETURN 001246 TRAP04 001240
    IOSCAN 001000 OUTCHR 001226 PRANGE 001110 TPS = 177564

    . ABS. 001250 000 (RW,I,GBL,ABS,OVR)
    000000 001 (RW,I,LCL,REL,CON)
    ERRORS DETECTED: 0

    *** ASSEMBLER STATISTICS


    WORK FILE READS: 0
    WORK FILE WRITES: 0
    SIZE OF WORK FILE: 33 WORDS ( 1 PAGES)
    SIZE OF CORE POOL: 22016 WORDS ( 86 PAGES)
    OPERATING SYSTEM: RT-11

    ELAPSED TIME: 00:00:00.12
    DK:IOSCAN,LP:IOSCAN=DK:IOSCAN


    Текстовая версия: IO-Scan.zip
    Последний раз редактировалось Andrey_Ak; 15.09.2009 в 12:18.
    Andrey_Ak WEB: www.tis.kz ICQ: 345-005-908 Mail: [email protected] Fido: 2:5083/1 Radio: UN7GKQ

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)

Похожие темы

  1. Видеорежимы и работа с ними
    от icebear в разделе Программирование
    Ответов: 23
    Последнее: 26.07.2005, 12:55
  2. Видеорежимы и работа с ними
    от icebear в разделе Несортированное железо
    Ответов: 3
    Последнее: 21.07.2005, 11:49
  3. Ответов: 0
    Последнее: 25.06.2005, 23:14

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •