• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите написать программу в ассемблере

мистерикс

Ученик
Регистрация
23 Май 2014
Сообщения
2
Реакции
0
Баллы
0
Помогите написать программу в ассемблере

Нужно написать программу, которая будет переименовывать созданный мной файл и ставить на нем атрибут "только для чтения". Всем заранее спасибо!
 
Для установки атрибутов заданного файла в регистре AX должен находиться 4301h. Регистры DS : DX должны содержать адрес строки с именем файла, строка должна заканчиваться нулем и может содержать путь к файлу. В регистре CX должны содержаться новые атрибуты файла. Если не было ошибки, то флаг CF = 0. Если произошла ошибка, то флаг CF = 1 и в регистре AX находится код ошибки.
Функция 4Eh предназначена для начала поиска файлов по шаблону, функция 4Fh для продолжения поиска файлов по шаблону. Для поиска всех файлов соответствующих данному шаблону, надо вызвать функцию 4Eh, после чего вызывать функцию 4Fh, до тех пор, пока CF=0.
Для поиска следующего файл по шаблону используется функция 4Fh. В регистре AH должен находиться номер функции (4Fh). При выходе, если ошибки не произошло, флаг CF=0. Содержимое области DTA обновлено новым найденным файлом. Если произошла ошибка — флаг CF=1, в регистре AX находится код ошибки.
В качестве шаблона для поиска в текущем каталоге имя файла *.*


Переименовать:
.code
push cs
push cs
pop ds
pop es ;na vsyak cluchai
mov ah,56h
mov dx,offset fileold
mov di,offset filenew
int 21h
jnc ok
;obrabotka oshibki

ok:
int 20h

AH = 56H
DS:DX = адрес старого ASCIIZ имени (путь/имя существующего файла)
ES:DI = адрес нового ASCIIZ имени (новые путь/имя)

Выход

AX = код ошибки если CF установлен
 
Назад
Сверху