Меню сайта

Урок 86. Блок управления файлом (FCB). 2 Часть

— — — — — — — — — — -0000 — — — — — — — — — — — — — — — — — CODE — — -SEGMENT
— — — — — — — — — — -005C — — — — — — — — — — — — — — — — — — — — — — — ORG — — — -05CH — — — — — — — — — — — — — — — — — — — — — — — Положение первого поля FCB
— — — — — — — — — — -005C — — — — — — — — — — — — — — — — — FCB — — — — — — — — — — — — — LABEL — -BYTE — — — — — — — — — — — Метка всего поля FCB
— — — — — — — — — — -005C — ?? — — — — — — — — — — — — -FCB_DRIVE — — — — — — -DB — — — — -? — — — — — — — Номер устройства
— — — — — — — — — — -005D — 0008[ — — — — — — — — — — — — — — — — FCB_NAME — — — — — — — — — — — — — — DB — — — — -8 DUP (?) — — — — — — — Имя файла
— — — — — — — — — — — — — — — — — — ??
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — ]
— — — — — — — — — — -0065 — 0003[ — — — — — — — — — — — — — — — — FCB_EXT — — — — — — — — — — — — — — — DB — — — — -3 DUP (?) — — — — — — — Тип файла
— — — — — — — — — — — — — — — — — — ??
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — ]

— — — — — — — — — — -0068 — ???? — — — — — — — — — — — FCB_BLOCK — — — — — — -DW — — — — — ? — — — — — — —Номер текущего блока
— — — — — — — — — — -006A — ???? — — — — — — — — — — — FCB_RECORD_SIZE — — — — — — -DW — — — — — ? — — — — — — — Размер записи
— — — — — — — — — — -006C — ???????? — — — — — — — — — — — — -FCB_FILE_SIZE — — — — — — — — — DD — — — — -? — — — — — — — Размер файла
— — — — — — — — — — -0070 — ???? — — — — — — — — — — — FCB_DATE — — — — — — — — — — — — — -DW — — — — — ? — — — — — — — Дата последнегоизменения
— — — — — — — — — — -0072 — 000A[ — — — — — — — — — — — — — — — — FCB_RESV — — — — — — — — — — — — — — DB — — — — -10 DUP (?) — — — — — — ЗарезервированоДОС
— — — — — — — — — — — — — — — — — — ??
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — ]
— — — — — — — — — — -007C — ?? — — — — — — — — — — — — -FCB_CURRENT_RECORD — — — — -DB — — — — — ? — — — — — — — Номер текущей записи
— — — — — — — — — — -007D — ???????? — — — — — — — — — — — — -FCB_RANDOM_RECORD — — — — — — DD — — — — — ? — — — — — — Номер записи при прямом
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — -доступе
— — — — — — — — — — -0090 — — — — — — — — — — — — — — — — — — — — — — — ORG — — — -090H
— — — — — — — — — — -0090 — — — — — — — — — — — — — — — — — DISK_TRANSFER_ADDRESS — — LABEL — -BYTE — — — — Буфер для данных

— — — — — — — — — — -0100 — — — — — — — — — — — — — — — — — — — — — — — ORG — — — -100H
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — ASSUME -CS:CODE,DS:CODE,ES:CODE
— — — — — — — — — — -0100 — E9 01CD R — — — — — — — — — — — — — — — — — — JMP — — — — PROGRAM_START — — — — — — — Переход на начало программы

— — — — — — — — — — -= 0020 — — — — — — — — — — — — — — — — — — — — — RECORD_SIZE — — — — EQU — — — — 32 — — — — — — — — Размер записи
— — — — — — — — — — -0103 — 03 00 00 00 00 — — — — — — -KEYBOARD_BUFFER DB — — — — — 3, 0, 0,0, 0 — — — Буфер ввода с клавиатуры
— — — — — — — — — — -0108 — 94 A0 A9 AB 20 E3 A6 — — — — FILE_ERROR_MSG — DB — — — — — ‘Файл ужесуществует’, 10, 13, ‘$’
— — — — — — — — -&n
bsp- — — — — -A5 20 E1 E3 E9 A5 E1
— — — — — — — — — — — — — — -E2 A2 E3 A5 E2 0A 0D
— — — — — — — — — — — — — — 24
— — — — — — — — — — -011E — 8D A5 A2 AE A7 AC AE — — — — BAD_OPEN_MSG — — — DB — — — — — ‘Невозможнооткрыть файл’, 10, 13, ‘$’
— — — — — — — — — — — — — — -A6 AD AE 20 AE E2 AA
— — — — — — — — — — — — — — -E0 EB E2 EC 20 E4 A0
— — — — — — — — — — — — — — -A9 AB 0A 0D 24
— — — — — — — — — — -0138 — 8E E8 A8 A1 AA A0 20 — — — — BAD_WRITE_MSG — — DB — — — — — ‘Ошибка призаписи в файл’, 10, 13, ‘$’
— — — — — — — — — — — — — — -AF E0 A8 20 A7 A0 AF
— — — — — — — — — — — — — — -A8 E1 A8 20 A2 20 E4
— — — — — — — — — — — — — — -A0 A9 AB 0A 0D 24
— — — — — — — — — — -0153 — 8E E8 A8 A1 AA A0 20 — — — — BAD_READ_MSG — — — DB — — — — — ‘Ошибка причтении файла’, 10, 13, ‘$’
— — — — — — — — — — — — — — -AF E0 A8 20 E7 E2 A5
— — — — — — — — — — — — — — -AD A8 A8 20 E4 A0 A9
— — — — — — — — — — — — — — -AB A0 0A 0D 24
— — — — — — — — — — -016D — 8E E8 A8 A1 AA A0 20 — — — — BAD_CLOSE_MSG — — DB — — — — — ‘Ошибка призакрытии файла’, 10, 13, ‘$’

— — — — — — — — — — — — — — — — — — — Фиг. 5.6 Пример использования функциямй DOS (начало)
— — — — — — — — — — — — — — -AF E0 A8 20 A7 A0 AA
— — — — — — — — — — — — — — -E0 EB E2 A8 A8 20 E4
— — — — — — — — — — — — — — -A0 A9 AB A0 0A 0D 24

— — — — — — — — — — -0189 — 8F E0 A8 20 A2 A2 AE — — — — INPUT_BAD_MSG — — DB — — — — — ‘При вводетребуется два символа’, 10, 13, ‘$’
— — — — — — — — — — — — — — -A4 A5 20 E2 E0 A5 A1
— — — — — — — — — — — — — — -E3 A5 E2 E1 EF 20 A4
— — — — — — — — — — — — — — -A2 A0 20 E1 A8 AC A2
— — — — — — — — — — — — — — -AE AB A0 0A 0D 24
— — — — — — — — — — -01AB — 82 A2 AE A4 20 A4 AE — — — — CHAR_BAD_MSG — — — DB — — — — — ‘Ввод долженбыть: символ|символ’, 10, 13, ‘$’
— — — — — — — — — — — — — — -AB A6 A5 AD 20 A1 EB
— — — — — — — — — — — — — — -E2 EC 3A 20 E1 A8 AC
— — — — — — — — — — — — — — -A2 AE AB 7C E1 A8 AC
— — — — — — — — — — — — — — -A2 AE AB 0A 0D 24

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —— — -Установка буфера (Области связи с диском)

— — — — — — — — — — -01CD — — — — — — — — — — — — — — — — — PROGRAM_START:
— — — — — — — — — — -01CD — B4 1A — — — — — — — — — — — — — — — — — — — — — — MOV — — — — AH, 1AH — — — — — — — — — — — — — Установка буфера
— — — — — — — — — — -01CF — 8D 16 0090 R — — — — — — — — — — — — — — -LEA — — — — DX, DISK_TRANSFER_ADDRESS
— — — — — — — — — — -01D3 — CD 21 — — — — — — — — — — — — — — — — — — — — — — INT — — — — 21H

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —— — -Поиск файла

— — — — — — — — — — -01D5 — B4 11 — — — — — — — — — — — — — — — — — — — — — — MOV — — — — AH, 11H — — — — — — — — — — — — — Поиск файла с заданным
— — — — — — — — — — -01D7 — 8D 16 005C R — — — — — — — — — — — — — — -LEA — — — — DX, FCB — — — — — — — — — — — — — — именем
— — — — — — — — — — -01DB — CD 21 — — — — — — — — — — — — — — — — — — — — — — INT — — — — 21H
— — — — — — — — — — -01DD — 0A C0 — — — — — — — — — — — — — — — — — — — — — — OR — — — — — AL, AL
— — — — — — — — — — -01DF — 75 0A — — — — — — — — — — — — — — — — — — — — — — JNZ — — — — NO_FILE — — — — — — — — — — — — — Переход если файл новый
— — — — — — — — — — -01E1 — 8D 16 0108 R — — — — — — — — — — — — — — -LEA — — — — DX, FILE_ERROR_MSG — — — — — — Сообщение о неправильном
— — — — — — — — — — — 01E5 — — — — — — — — — — — — — — — — — ERROR_EXIT: — — — — — — — — — — — — — — — — — — именифайла
— — — — — — — —
— — -01E5 — B4 09 — — — — — — — — — — — — — — — — — — — — — — MOV — — — — AH, 9H — — — — — — — — — — — — — — Вывод сообщения на экран
— — — — — — — — — — -01E7 — CD 21 — — — — — — — — — — — — — — — — — — — — — — INT — — — — 21H — — — — — — — — — — — — и выход из программы
— — — — — — — — — — -01E9 — CD 20 — — — — — — — — — — — — — — — — — — — — — — INT — — — — 20H

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —— — -Создание нового файла
— — — — — — — — — — -01EB — — — — — — — — — — — — — — — — — NO_FILE:
— — — — — — — — — — -01EB — B4 16 — — — — — — — — — — — — — — — — — — — — — — MOV — — — — AH, 16H — — — — — — — — — — — — — Создание файла
— — — — — — — — — — -01ED — 8D 16 005C R — — — — — — — — — — — — — — -LEA — — — — DX, FCB
— — — — — — — — — — -01F1 — CD 21 — — — — — — — — — — — — — — — — — — — — — — INT — — — — 21H
— — — — — — — — — — -01F3 — 0A C0 — — — — — — — — — — — — — — — — — — — — — -OR — — — — — AL, AL — — — — — — — — — — — — — — — Проверка на успех
— — — — — — — — — — -01F5 — 74 06 — — — — — — — — — — — — — — — — — — — — — — JZ — — — — — CREATE_OK
— — — — — — — — — — -01F7 — 8D 16 011E R — — — — — — — — — — — — — — -LEA — — — — DX, BAD_OPEN_MSG — — — — — — — — — — Сообщение об ошибке при
— — — — — — — — — — -01FB — EB E8 — — — — — — — — — — — — — — — — — — — — — — JMP — — — — ERROR_EXIT — — — — — — — — — — — создании файла

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —— -Установка параметров FCB
— — — — — — — — — — -01FD — — — — — — — — — — — — — — — — — CREATE_OK:
— — — — — — — — — — -01FD — C6 06 007C R 00 — — — — — — — — — — — -MOV — — — — FCB_CURRENT_RECORD, 0 — — — — — -Инициализация номера
— — — — — — — — — — -0202 — C7 06 007D R 0000 — — — — — — — — — — — — — — — — MOV — — — — WORD PTRFCB_RANDOM_RECORD, 0 — — — — записи
— — — — — — — — — — -0208 — C7 06 007F R 0000 — — — — — — — — — — — — — — — — MOV — — — — WORD PTRFCB_RANDOM_RECORD+2, 0
— — — — — — — — — — -020E — C7 06 006A R 0020 — — — — — — — — — — — — — — — — MOV — — — — WORD PTRFCB_RECORD_SIZE, RECORD_SIZE

Категория: Программирование на Ассемблере | Дата: 30.01.13

Меню раздела
Блок