Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Пример 2. ASSUME CS:CODE, DS:CODE





CODE SEGMENT

ASSUME CS: CODE, DS: CODE

ORG 10OH

BEG:

/открыть файл

MOV AX, 3D02H

LEA DX, PATH

INT 21H

JC _END

PUSHAX

/байт в таблице дескрипторов файлов равен

; номеру блока описания файла

MOVSI, AX

MOV DL, ES: [SI+18H] - • •

XORDH, DH; номер блока в DX

/адрес списка списков ~

MOV АН, 52Н:

INT 21H

/указатель на системную таблицу файлов

LES SI, ES: [BX+4]; в ES: SI

/ищем блок описания файла

CMPDX, ES: [SI+4]

JB YES

SUB DX, ES: [SI+4]

LESSI, ES: [SI] /второй блок

; номер кластера

YES:

MOVAX, 59 /размерблока

MULDL

ADDSI, AX

MOVAX, ES: [SI+6+OBH] /номеркластера

MOVCLAST, AX

/записываем номер по смещению OFSET, вначале сдвиг,

POPВХ

MOVAX, 4200H

XORCX, CX

может быть помечен как неперемещаемый (READONLY). Однако атрибут файла может быть случайно изменен, что приведет к тому, что пакет не будет работать. В качестве примера, однако, я приведу программу, определяющую начальный кластер заданного файла. Для определения начального кластера файла используется функция 52Н. Конечно, начальный кластер файла можно найти, поработав с FAT, но это гораздо сложнее. Данная программа определяет номер начального кластера файла с именем NONAME.COM и записывает его в него же по смещению OFSET.

CODE SEGMENT

ASSUME CS: CODE, DS: CODE

ORG 10OH

BEG:

/открытьфайл

MOV AX, 3D02H

LEA DX, PATH

INT 21H

JC _END

PUSHAX

/байт в таблице дескрипторов файлов равен

; номеру блока описания файла

MOVSI, AX

MOV DL, ES: [SI+18H] - • •

XORDH, DH; номер блока в DX

/адрес списка списков ~

MOV АН, 52Н:

INT 21H

/указатель на системную таблицу файлов

LES SI, ES: [BX+4]; в ES: SI

/ищем блок описания файла

CMPDX, ES: [SI+4]

JB YES

SUB DX, ES: [SI+4]

LESSI, ES: [SI] /второй блок

; номер кластера

YES:

MOVAX, 59 /размерблока

MULDL

ADDSI, AX

MOVAX, ES: [SI+6+OBH] /номеркластера

MOVCLAST, AX

/записываем номер по смещению OFSET, вначале сдвиг,

POPВХ

MOVAX, 4200H

XORCX, CX

ERR D:

WR:

MOV DH, 2

MOV CL, 4

MOV CH, 3

MOV DL, 80H

MOV BX, OFFSET BUF

INT 13H

JC ERR_D

MOV DX, OFFSET MES1

JMP SHORT WR

MOV DX, OFFSET MES2

MOV AH, 9

INT 21H '

RET

MES1 DB 'Метка установлена на жесткий диск.', 13, 10, ' $ '

MES2 DB 'При установке метки на жесткий диск произошла'

DB 'ошибка.', 13, 10, '$ '

BUFDB 512 DUP(?)

DB 4234'

CODEENDS

ENDBEGIN

(а) Установка метки на жестком диске.

CODE SEGMENT

ASSUME CS-.CODE

ORG 100H

BEGIN:

/читаем: головка 2, дорожка 3, сектор 4

MOV AH, OAH

MOV AL, 1

MOV DL, 80H

MOV DH, 2

MOV CH, 3

MOV CL, 4

MOV BX, OFFSET BUFFER

INT 13H

JCNO_M

; проверка последних 4 байт

CMP BYTE PTR ES: [BX]+512, '! '

JNZ NO_M

CMP BYTE PTR ES: [BX]+513, '2 '

JNZ NO M

CMP BYTE PTR ES: [BX]+514, '3'

JNZ NO_M

CMP BYTE PTR ES: [BX]+515, '4 '

JNZ NO_M

MOV DX, OFFSET MES2

JMP SHORT WR

NO_M:

MOV DX, OFFSET MES1

WR:

MOV AH, 9

INT 21H

RET

BUFFER DB 512 DUP(?)

METDB 4 DUP(?)

MES1 DB 'Метка на жестком диске не обнаружена.'

DB 13, 10, '$'

MES2 DB 'Метка на жестком диске обнаружена.', 13, 10, '$'

CODEENDS

ENDBEGIN

(б) Проверка метки на жестком диске.

Информация, необходимая при идентификации пакета, может быть помещена в ВООТ-сектор или PARTITIONTABLE. Однако это ненадежный способ, и прибегать к нему следует лишь в простых ситуациях. Дело в том, что содержимое этих секторов может измениться при переустановке системы. Некоторые же антивирусные программы могут принять постороннюю информацию в секторе за наличие вируса. Пакет может быть привязан к BAD-кластерам, которые проставляются во время установки.

Привязка к винчестеру может сочетаться с проверкой некоторых индивидуальных параметров компьютера. К таковым относятся:

- серийный номер микропроцессора, микросхемы ПЗУ и дата изготовления;

- аппаратная конфигурация данного компьютера;

- содержание ПЗУ (контрольная сумма);

- частотные и временные характеристики отдельных узлов.







Дата добавления: 2014-11-10; просмотров: 894. Нарушение авторских прав; Мы поможем в написании вашей работы!




Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...


Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Психолого-педагогическая характеристика студенческой группы   Характеристика группы составляется по 407 группе очного отделения зооинженерного факультета, бакалавриата по направлению «Биология» РГАУ-МСХА имени К...

Общая и профессиональная культура педагога: сущность, специфика, взаимосвязь Педагогическая культура- часть общечеловеческих культуры, в которой запечатлил духовные и материальные ценности образования и воспитания, осуществляя образовательно-воспитательный процесс...

Устройство рабочих органов мясорубки Независимо от марки мясорубки и её технических характеристик, все они имеют принципиально одинаковые устройства...

Мелоксикам (Мовалис) Групповая принадлежность · Нестероидное противовоспалительное средство, преимущественно селективный обратимый ингибитор циклооксигеназы (ЦОГ-2)...

Менадиона натрия бисульфит (Викасол) Групповая принадлежность •Синтетический аналог витамина K, жирорастворимый, коагулянт...

Разновидности сальников для насосов и правильный уход за ними   Сальники, используемые в насосном оборудовании, служат для герметизации пространства образованного кожухом и рабочим валом, выходящим через корпус наружу...

Studopedia.info - Студопедия - 2014-2025 год . (0.012 сек.) русская версия | украинская версия