Форум программистов, компьютерный форум, киберфорум
ОС на Assembler
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.88/26: Рейтинг темы: голосов - 26, средняя оценка - 4.88
8 / 8 / 5
Регистрация: 28.03.2014
Сообщений: 137

Рабочий драйвер FAT32 на fasm с функцией чтения файла по заданному пути

11.06.2014, 19:26. Показов 5885. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мне нужен рабочий драйвер FAT32 на fasm.
Функции драйвера: чтение файла по заданному пути.
Возможны длинные имена, вложенные папки.
Хочу поскорее, потому, что я написал драйвера ввиде отдельных файлов и хочу протестировать.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.06.2014, 19:26
Ответы с готовыми решениями:

Драйвер для чтения из файла и записи в файл последних 20 слов
Нужно скопировать последние 20 слов с одного текстового файла в другой За основание берем две функции ZwReadFile ZwWriteFile. Помогите ...

открытие файла по заданному пути c ShellExecuteA
здравствуйте. Есть вот такой код. Сейчас нас интересует часть которая начинается с else if а именно функция ShellExecuteA в этой части....

Сохранение файла по заданному пользователем пути
У меня возникла проблема, я написал программу которая по локальной сети передает файлы и она работает нормаль то есть сервер сокет передает...

24
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16379 / 7691 / 1080
Регистрация: 11.11.2010
Сообщений: 13,773
13.06.2014, 15:33
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Вадик_ Посмотреть сообщение
Я сам напишу этот драйвер
Вадик_,
только не забудь выложить готовый драйвер на всеобщее обозрение, таковы правила этого форума
0
3 / 3 / 1
Регистрация: 30.05.2014
Сообщений: 34
13.06.2014, 19:25
У меня есть самописный драйвер на FASM, не под FAT. Поиск файла по имени, загрузка, сохранение. Там своя файловая система, но не суть. Сами драйвера файловых систем в корне просты. По сути, это алгоритмы махинаций с таблицей + работа с HDD или другими носителями. Могу объяснить некоторые конкретные принципы.

Добавлено через 4 минуты
Мля, флудофорум....
0
8 / 8 / 5
Регистрация: 28.03.2014
Сообщений: 137
13.06.2014, 22:30  [ТС]
Попытался написать драйвер, хотя бы для чтения файла из папки system, и то не работает. Кривой, даже FASM
ошибки выдаёт.
Код драйвера:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
read_system_file: ; Читать файл из папки system
; edx - адрес строки с именем файла
; ebx - адрес (куда читатать) относительно ds
mov [.file_name_adr], edx
mov [.fr_adr], ebx
mov eax, [start_sect]
mov ebx, 1024 * 1024 * 1
call read_sector_512
mov dl, byte [1024 * 1024 * 1  + 0Dh]
mov [.sectors_per_clust], dl
mov edx, dword [1024 * 1024 * 1  + 24h]
mov [.sectors_per_FAT], edx
mov ecx, edx
mov eax, [start_sect]
add eax, 32
mov ebx, 1024 * 1024 * 1
.read_FAT: ; Читать таблицу FAT
call read_sector_512
add ebx, 512
inc eax
loop .read_FAT
mov ecx, [.sectors_per_FAT]
shl ecx, 4
mov ebx, 1024 * 1024 * 1
add ebx, 2
.scan_FAT: ; Сканировать таблицу FAT
pushd ecx
; Нужно найти начало директории system
add ebx, 11
mov dl, byte [ds:ebx]
sub ebx, 11
; dl - свойства
and dl, 00010000b
test dl, 00010000b
jz .ex_scanf
pushd ecx
xor ecx, ecx
mov esi, .folder
.comp_fn:
mov dl, byte [ebx]
inc ebx
mov dh, byte [esi]
inc esi
cmp dl, dh
loope .comp_fn
sub ebx, ecx
cmp ecx, 11
jb .ex_scanf
; Мы здесь - директория найдена
; ebx - адрес начала директории
add ebx, 32
mov esi, [.file_name_adr]
mov ecx, 1024
.find_file:
pushd ecx
xor ecx, ecx
.comp_file_name:
mov dl, byte [ds:ebx]
mov dh, byte [esi]
inc ebx
inc esi
ja .error
cmp dl, dh
loope .comp_file_name
sub ebx, ecx
cmp ecx, 11
jne .ff2
add ebx, 11
mov dl, byte[ds:ebx]
sub ebx, 11
and al, 00010000b
test al, 00010000b
jz .file_found
.ff2:
add ebx, 32
popd ecx
loop .find_file
popd ecx
.ex_scanf:
popd ecx
add ebx, 32
loop .scan_FAT
jmp .error
.file_found:
xor eax, eax
add ebx, 14h
mov ax, word [ds:ebx]
sub ebx, 14h
add ebx, 18h
shl eax, 16
mov ax, word [ds:ebx]
; eax - начальный кластер
sub ebx, 18h
add ebx, 1Ch
mov ecx, dword [ds:ebx]
; ecx - размер файла в байтах
sar ecx, 10 ; / 512
inc ecx
; ecx - размер файла в секторах (точность + 1)
xor ebx, ebx
mov bl, [.sectors_per_clust]
mul ebx
add eax, [start_sect]
mov ebx, [.fr_adr]
.read_file:
call read_sevtor_512
inc eax
add ebx, 512
loop .read_file
mov eax, 0
jmp .exit
.error:
mov eax, 1
jmp .exit
@@:
.file_name_adr dd 0, 0
.sectors_per_clust db 0, 0
.sectors_per_FAT dd 0, 0
.folder db 'system     ', 0
.fr_adr dd 0, 0
.exit:
ret
 
 
 
@@:
start_sect dd 0, 0
read_sector_512:
; Чтение сектора с Hdd или флешки
ret
0
8 / 8 / 5
Регистрация: 28.03.2014
Сообщений: 137
16.06.2014, 13:04  [ТС]
Исправте кто-нибудь моего код драйвера!
0
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16379 / 7691 / 1080
Регистрация: 11.11.2010
Сообщений: 13,773
16.06.2014, 13:11
Цитата Сообщение от Вадик_ Посмотреть сообщение
Исправте кто-нибудь моего код драйвера!
Только это будет уже не ТВОЙ драйвер
Цитата Сообщение от Nova_ Посмотреть сообщение
Мля, флудофорум....
Nova_,
не флудите и не флудимы будете...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.06.2014, 13:11

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

Драйвер FAT32
Я уже полгода не могу написать драйвер fat32. Мне это очень надо. Я не могу читать файлы, а как без этого? Ни ядро, ни шрифт не прочтешь....

Открытие файла по заданному пути, где запущена программа
1)Программа должна понять, в какой директории она запущена(над этим долго голову ломал так не нашел решение), узнать путь и запихнуть в...

Как осуществить загрузку файла на сервер по заданному пути
Подскажите пожалуйста как написать на VB 2010 загрузку файла на сервер по заданному пути. Есть кнопка, при ее нажатии в диалоге...

Запуск файла по заданному пути. Не открыть, а именно запустить
Есть файл Help.docx, и как его можно запустить,к примеру, при нажатии на кнопку?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru