Форум программистов, компьютерный форум, киберфорум
Assembler: DOS/Real Mode/16-bits
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
210 / 204 / 52
Регистрация: 25.07.2010
Сообщений: 1,162

Каждая запись в FAT12 занимает три шестнадцатеричного числа, вопрос в том - какие

13.05.2012, 18:18. Показов 2500. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
приветствую, вообщем есть считанная FAT12 таблица, в памяти так
DS: F0 FF FF 03 40 ....
как я понял первые три байта служебные, каждая запись в fat12 занимает ТРИ шестнадцатеричного числа, вопрос в том какие? при считывание в AX: получается 4003;
какой правильный ВАриант?
400
430
403
003

Напишите пожалуйста значения для первых трех ячеек фат
Заранее спс.
Миниатюры
Каждая запись в FAT12 занимает три шестнадцатеричного числа, вопрос в том - какие  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.05.2012, 18:18
Ответы с готовыми решениями:

Запись шестнадцатеричного числа
Здравствуйте. нужна помощь. понадобилось шестнадцатеричное представление числа, погуглил не нашел, а точнее нашел тоже самое что я написал:...

Каждая нить поочередно формирует и печатает три числа a, b и c
Синхронизировать три нити одного процесса с помощью оператор lock. Каждая нить поочередно формирует и печатает три числа a, b и c. Числа...

Даны две строки, каждая содержит десятичную запись натурального числа. Определить, какое число больше
Язык С Даны две строки, каждая содержит десятичную запись натурального числа. Определить, какое число больше

10
210 / 204 / 52
Регистрация: 25.07.2010
Сообщений: 1,162
13.05.2012, 23:32  [ТС]
апппп
0
1 / 1 / 0
Регистрация: 23.10.2013
Сообщений: 10
23.10.2013, 11:16
наверное уже не нужно, но для всех кто интересуется... В fat12 использует 12 битные записи кластеров. как это выглядит есть запись 03 40 00 это из примера сверху. Формула для нахождения номера кластера. допустим номер одного кластера XYZ, номер другого кластера xyz. Получаем запись:
03 40 00
yz Zx XY
что соответствует
xyz
003 значит следующий кластер 3
XYZ
004 следующий кластер 4
1
0 / 0 / 0
Регистрация: 13.04.2011
Сообщений: 6
17.12.2013, 22:13
borovik, Пожалуйста, если тебя не затруднит, выложи эту программу. Очень нужно.
0
Клюг
 Аватар для Charles Kludge
7677 / 3192 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
18.12.2013, 09:44
Брыков Евгений, ЕМНИП, с редактированием FAT вполне справляется Norton DiskEdit.
Code
1
http://old-dos.ru/index.php?page=files&mode=files&do=show&id=1444
0
0 / 0 / 0
Регистрация: 13.04.2011
Сообщений: 6
18.12.2013, 11:47
Цитата Сообщение от Charles Kludge Посмотреть сообщение
Брыков Евгений, ЕМНИП, с редактированием FAT вполне справляется Norton DiskEdit.
Code
1
http://old-dos.ru/index.php?page=files&mode=files&do=show&id=1444
Да, справляется, но мне нужен именно код программы чтения таблицы FAT12.
0
1 / 1 / 0
Регистрация: 23.10.2013
Сообщений: 10
18.12.2013, 12:01
какая именно программа нужна?
если на асме то считываешь с диска в память
int 13h
ah 02H читать секторы
вход: DL = номер диска (0=диск A...; 80H=тв.диск 0; 81H=тв.диск 1)
DH = номер головки чтения/записи
CH = номер дорожки (цилиндра)(0-n) =¬
CL = номер сектора (1-n) ===========¦== См. замечание ниже.
AL = число секторов (в сумме не больше чем один цилиндр)
ES:BX => адрес буфера вызывающей программы
1 сектор для дискеты это 512 байт.
первая таблица находится в 6 секторе (7 если нулевой тоже считать) адресс 1400h
таблица всегда начинается с F0 FF FF.
а дальше идут номера кластеров в которых записан файл.
0
Клюг
 Аватар для Charles Kludge
7677 / 3192 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
18.12.2013, 12:02
Дык. Copyright 1986 Ziff-Davis Publishing Co. Programmed by Charles Petzold.
Вложения
Тип файла: zip diskscan.zip (3.7 Кб, 15 просмотров)
0
0 / 0 / 0
Регистрация: 13.04.2011
Сообщений: 6
18.12.2013, 12:39
Цитата Сообщение от astrcomp Посмотреть сообщение
какая именно программа нужна?
если на асме то считываешь с диска в память
int 13h
ah 02H читать секторы
вход: DL = номер диска (0=диск A...; 80H=тв.диск 0; 81H=тв.диск 1)
DH = номер головки чтения/записи
CH = номер дорожки (цилиндра)(0-n) =¬
CL = номер сектора (1-n) ===========¦== См. замечание ниже.
AL = число секторов (в сумме не больше чем один цилиндр)
ES:BX => адрес буфера вызывающей программы
1 сектор для дискеты это 512 байт.
первая таблица находится в 6 секторе (7 если нулевой тоже считать) адресс 1400h
таблица всегда начинается с F0 FF FF.
а дальше идут номера кластеров в которых записан файл.
Есть код:
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
    .model small
    .data
    AbsSectNum dw 0
    AbsHeadNum dw 0 
    gnTrackSect dw 18
    Mem_FAT db 9*512 dup(?)
    RootDir db 15*512 dup (?)   
    .code 
    .386 
    start:
    mov ax,@data
    mov ds,ax
    mov ax,0003h 
    int 10h 
    call ReadRootDir 
    call ReadFAT 
    mov ah,4Ch
    int 21h 
 
ReadSect proc 
    push di 
    push es  
    push cs 
    pop ds 
    mov cx,[gnTrackSect]
    mov si,dx  
    mov ax,si 
    xor dx,dx
    div cx 
    mov di,ax 
    mov ax,di 
    imul cx 
    mov dx,si 
    sub dx,ax 
    inc dx 
    mov [AbsSectNum],dx 
    mov ax,di 
    and ax,1 
    mov [AbsHeadNum],ax  
    imul cx 
    push ax 
    mov ax,si 
    pop dx 
    sub ax,dx 
    mov dx,[AbsSectNum] 
    dec dx 
    sub ax,dx 
    mov dx,cx 
    shl dx,1 
    push ax 
    push dx 
    xor dx,dx 
    pop bx 
    pop ax 
    div bx
    mov cx,ax 
    mov al,cl 
    shr cx,2 
    and cl,0C0h 
    mov ch,al 
    and cx,0FFC0h 
    mov ax,[AbsSectNum] 
    or cl,al 
    pop es 
    pop bx
    mov dx,[AbsHeadNum] 
    mov dh,dl
    mov dl,0
    mov al,1 
    mov ah,2
    int 13h 
    ret 
ReadSect endp 
 
ReadRootDir proc  
    pusha
    mov dx,19 
    mov di,offset RootDir
        Cont_Read_Root: 
    push dx
    push di 
    push es 
    Call ReadSect
    pop es 
    pop di 
    pop dx 
    add di,512 
    inc dx 
    cmp dx,33 
    jne Cont_Read_Root 
    popa 
    ret 
ReadRootDir endp 
 
ReadFAT proc  
    pusha 
    mov dx,1 
    mov di,offset Mem_FAT 
    Cont_Read_Fat: 
    push dx 
    push di 
    push es 
    Call ReadSect 
    pop es 
    pop di 
    pop dx 
    add di,512 
    inc dx 
    cmp dx,10 
    jne Cont_Read_Fat 
    popa 
    ret 
ReadFAT endp 
end start
В процессе трансляции выходит ошибка. Если вы знаете, как исправить эти ошибки, то подскажите пожалуйста.
Миниатюры
Каждая запись в FAT12 занимает три шестнадцатеричного числа, вопрос в том - какие  
0
Клюг
 Аватар для Charles Kludge
7677 / 3192 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
18.12.2013, 12:51
На масме той же версии компилится без ошибок. У вас граблемы с путями и/или переменной INCLUDE .
0
0 / 0 / 0
Регистрация: 20.11.2015
Сообщений: 3
01.04.2020, 21:10
03 40 00
yz Zx XY
что соответствует
xyz
003 значит следующий кластер 3
XYZ
004 следующий кластер 4

Никогда НЕ поздно сказать СПАСИБО!

Пишу загрузчик через эмуляцию флэшки на ПК для обновления контроллера STM32. Целый день убил на поиск ответа , что за буквоцыфры в FAT12.

00000400 : F8 FF FF FF FF FF FF 6F 00 FF 8F 00 FF 0F 00 00

Теперь понял . Еще раз Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.04.2020, 21:10
Помогаю со студенческими работами здесь

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

Работа с типизированным файлом: запись Шестнадцатеричного значения из Edit1 в файл
Здравствуйте ! надеюсь на помощь профи. Суть проблемы такая: задание было написать программу, которая работает с типизированным файлом...

Даны четыре целых числа A,B,C,D. Если какие-то три из них образуют арифметическую прогрессию...
Здравствуйте! Такое задание:".Даны четыре целых числа A,B,C,D. Если какие-то три из них образуют арифметическую прогрессию,то вывести...

Заданы матрицы А, В, С, D, каждая из которых содержит по три строчки и по три столбца. Перемножить матрицы Р и Q
Заданы матрицы А, В, С, D, каждая из которых содержит по три строчки и по три столбца. Перемножить матрицы Р и Q, полученные в результате...

Вывод шестнадцатеричного числа
Нужно вывести шестнадцатеричное число. Где то закралась ошибка, заданное число выводит в виде 1133, ткните пожалуйста где ошибся....


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru