Студопедия — Пример 2. ASSUME CS:CODE, DS:CODE
Студопедия Главная Случайная страница Обратная связь

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

Пример 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; просмотров: 863. Нарушение авторских прав; Мы поможем в написании вашей работы!



Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Метод Фольгарда (роданометрия или тиоцианатометрия) Метод Фольгарда основан на применении в качестве осадителя титрованного раствора, содержащего роданид-ионы SCN...

Потенциометрия. Потенциометрическое определение рН растворов Потенциометрия - это электрохимический метод иссле­дования и анализа веществ, основанный на зависимости равновесного электродного потенциала Е от активности (концентрации) определяемого вещества в исследуемом рас­творе...

Гальванического элемента При контакте двух любых фаз на границе их раздела возникает двойной электрический слой (ДЭС), состоящий из равных по величине, но противоположных по знаку электрических зарядов...

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

Почему важны муниципальные выборы? Туристическая фирма оставляет за собой право, в случае причин непреодолимого характера, вносить некоторые изменения в программу тура без уменьшения общего объема и качества услуг, в том числе предоставлять замену отеля на равнозначный...

Тема 2: Анатомо-топографическое строение полостей зубов верхней и нижней челюстей. Полость зуба — это сложная система разветвлений, имеющая разнообразную конфигурацию...

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