|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.06.2009, 15:40 | #1 |
Регистрация: 07.06.2009
Сообщений: 8
|
Программа получения списка файлов директории и изменения атрибутов файлов
Здравствуйте. Ассемблер знаю второй день. Вообще програмировал на php, а с низкоуровневыми языками - не сталкивался. Быдлокодер, короче. Но всеже - человек.
помогите, пожалуйста с задачей. Есть каталог, есть в нем четыре файла. Программа при выполнении должна четным изменить атрибуты на "только чтение" а нечетным на "скрытый". Что я имею на данный момент. ОС windows 32 Эмулятор emu8086 Книгу "Assembler практикум" В.И. Юрова Кигу "Ассемблер Это просто" Разобрался как открывать файл. Вот типа что получалось : Код:
Код:
Уже второй день не могу найти как получить список файлов каталога и как отделить четные файлы от нечетных. Помогите кто чем может. Примерно думаю нужно получить массив номеров файлов и затем уже им присваивать атрибуты. Но в учебниках вообще нет описания получения списка файлов. Может я не по тому пути иду? Если такая же тема уже была написана и решена - ткните меня туда носом, пожалуйста. |
07.06.2009, 18:23 | #3 |
Регистрация: 07.06.2009
Сообщений: 8
|
MalCer, спасибо.
Нашел способ вывода файлов каталога. Код:
Код:
а он постоянно меняется. И не могу найти, как отличить четный файл от нечетного. Последний раз редактировалось roma86; 07.06.2009 в 18:42. |
07.06.2009, 20:18 | #4 |
Форумчанин
Регистрация: 31.05.2009
Сообщений: 786
|
поставить счетчик, к примеру:
mov cx,0 lp: ..... ;ищете файл test cx,1 push cx jz chet ;нечет mov ax,4301h mov dx,offset File_name mov cx,2 int 21h jmp nxt chet: mov ax,4301h mov dx,offset File_name mov cx,1 int 21h nxt: pop cx inc cx jmp lp Если что, сильно не пинать, придумывал на ходу |
07.06.2009, 20:22 | #5 |
Регистрация: 07.06.2009
Сообщений: 8
|
Аlexcoder, да, вот по счетчику уже есть предложения, спасибо за код.
А как "mov dx,offset File_name" указать вместо "File_name" постоянно меняющееся имя файла? |
07.06.2009, 20:25 | #6 |
Регистрация: 07.06.2009
Сообщений: 8
|
Вообще сейчас получается что-то такое
Структура - ------------------- 1. Вызвать FindFirst 2. Пустить цикл, условием выхода из которого будет статус "нет больше файлов", выдаваемый функцией FindNext 3. Внутри цикла пустить счётчик от нуля. Чётность проверять так: and al, 1 shr al jnc even тут код, выполняемый, если al нечётный - то есть, смена атрибута текущего файла на "ридонли" jmp next even: тут код, выполняемый, если al чётный - то есть, смена атрибута текущего файла на "хидден" next: Регистр al, само собой, портится - как позаботитьсяся о его сохранении. Само собой, можно использовать и другой регистр, только вот какой? Никто не подскажет? ------------------- Код:
|
07.06.2009, 20:31 | #7 |
Форумчанин
Регистрация: 15.07.2008
Сообщений: 615
|
Ну и сохраните регистр ax путем push, а затем извлеките его
xor eax, eax
xchg [eax], eax |
09.06.2009, 09:08 | #8 |
Регистрация: 07.06.2009
Сообщений: 8
|
Вот решение --
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Получение списка файлов | Костян Пират | Общие вопросы Delphi | 11 | 16.02.2009 09:58 |
Программа просмотра файлов в директории | asale | Microsoft Office Excel | 4 | 06.01.2009 13:53 |
Не открывает из списка файлов ListBox | SANTA_KLAUD | Общие вопросы Delphi | 8 | 27.05.2008 20:30 |
Печать pdf файлов из списка файлов в Excel | АПС | Microsoft Office Excel | 5 | 15.04.2008 16:04 |
как считать имена файлов из директории и поддерикторий в массив, ХЭЛП | uraveselov | Microsoft Office Excel | 2 | 10.04.2008 09:50 |