Форум программистов, компьютерный форум, киберфорум
Assembler: DOS/Real Mode/16-bits
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Чугунные скороходы
 Аватар для ARRAYBOW
17 / 16 / 3
Регистрация: 25.12.2022
Сообщений: 367
NASM

Как прочитать диск с помощью int 13h

22.10.2025, 22:35. Показов 2267. Ответов 31
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пишу свою ОС, просто как тестовый проект ради изучения языка. Начал с написания PBR. Пытаюсь прочитать 1 сектор диска. Там находится вторая часть PBR после байтов 0x55AA. Почитав интернет, рабочий метод чтения диска я не нашел. Каждый код, который я использую, записывает неверные данные в мой адрес. Предварительно перед чтением диска я конечно же проверяю этот адрес и он всегда пустой.
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
    ...
    mov dl, al
    push ax
    xor ax, ax
    mov ah, 0x41
    mov bx, 0x55aa
    int 0x13
    jc .rderror
    cmp bx, 0xaa55
    jne .rderror
    test cx, 1
    jz .rderror
    pop ax
    push ax
    mov dl, al
    mov ah, 0x42
    mov si, DAP
    int 0x13
    jc .rderror
    mov si, 0x7F00 ; в этот адрес я гружу сектор
    mov di, ldrtext ; те самые байты, которые должны находиться в начале этого сектора
    mov cx, 6
    repe cmpsb
    jz .verifnoerror ; грузимся дальше
    ... ; ошибка
DAP:
    db 0x10
    db 0x00
    dw 0x0001
    dw 0x7F00
    dw 0x0000
    dq 0x01
Для тех, кому нужен полный код (pbr применяется только если файловая система - FAT32):
Кликните здесь для просмотра всего текста
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
131
132
133
134
org 0x7c00
bits 16
 
jmp firstaosldr
nop
times 0x5A-($-$$) db 0
firstaosldr:
    xor ax, ax
    mov ds, ax
    mov ss, ax
    mov sp, 0x7c00
    mov al, dl
    push ax
    mov ah, 00h
    mov al, 10h
    int 10h
    mov ax, 03h
    int 10h
    mov si, ldrtext
    call printtext
    mov si, chkmemtext
    call printtext
    mov si, 0x7E00
    mov cx, 0xFFFF
    xor ax, ax
.chkmem:
    lodsb
    cmp al, 00h
    jne .errorchkmem
    cmp si, cx
    jnb .okchkmem
    jmp .chkmem
.errorchkmem:
    mov si, chkmemerrtext
    call printtext
    jmp .stop
.okchkmem:
    mov si, oktext
    call printtext
    mov si, rddsktext
    call printtext
    pop ax
    cmp al, 0x80
    jb .hddwarn
    cmp al, 0xE0
    jne .nohddwarn
.hddwarn:
    mov si, nohddwarntext
    call printtext
.nohddwarn:
    mov dl, al
    push ax
    xor ax, ax
    mov ah, 0x41
    mov bx, 0x55aa
    int 0x13
    jc .rderror
    cmp bx, 0xaa55
    jne .rderror
    test cx, 1
    jz .rderror
    pop ax
    push ax
    mov dl, al
    mov ah, 0x42
    mov si, DAP
    int 0x13
    jc .rderror
    mov si, 0x7F00
    mov di, ldrtext
    mov cx, 6
    repe cmpsb
    jz .verifnoerror
    mov si, 0x7F00
    call printtext
    mov si, ldrtext
    call printtext
    mov si, veriferrtext
    call printtext
    jmp .stop
.verifnoerror:
    mov si, oktext
    call printtext
    mov si, loadtext
    call printtext
    pop ax
    mov dl, al
    xor si, si
    xor di, di
    jmp secondaosldr
.rderror:
    mov si, rderrtext
    call printtext
.stop:
    mov si, stoptext
    call printtext
    cli
    hlt
printtext:
    mov ah, 0Eh
.run:
    lodsb
    cmp al, 00h
    je .done
    int 10h
    jmp .run
.done:
    ret
 
DAP:
    db 0x10
    db 0x00
    dw 0x0001
    dw 0x7F00
    dw 0x0000
    dq 0x01
 
ldrtext       db 'AOSLDR',10,13,0
chkmemtext    db 'Chk mem...',10,13,0
chkmemerrtext db 'F: mem is invalid',10,13,0
rddsktext     db 'Rd dsk...',10,13,0
nohddwarntext db "W: boot dev isn't hdd",10,13,0
rderrtext     db 'F: rd err',10,13,0
veriferrtext  db 'F: verify err',10,13,0
oktext        db 'OK',10,13,0
stoptext      db 'Stop...',0
loadtext      db 'Load AOSLDR...',10,13,0
times 0x1FE-($-$$) db 0
db 0x55, 0xAA, 'AOSLDR'
 
secondaosldr:
    nop
 
times 0x400-($-$$) db 0
1
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.10.2025, 22:35
Ответы с готовыми решениями:

Int 13h. Не могу прочитать с винта за раз блок более 64кб
Я столкнулся с проблемой дело в том что через INT13h я не могу прочитать с винта за раз блок...

Как записать данные в загрузочный сектор без использования int 13h
Подскажите, пожалуйста, как записать данные в загрузочный сектор без помощи 13h прерывания.

Про то как DIV подрезает работу функции 42h int 13h
Привет, ребята! Хочу на Fasm'e сделать загрузчик с флешки, который использует FAT 16. Сам...

31
780 / 412 / 75
Регистрация: 29.03.2013
Сообщений: 854
25.10.2025, 22:05
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от ARRAYBOW Посмотреть сообщение
Сектор 0 это тот, который грузится через MBR, а 1 сектор я гружу сам
LBA0 и логический сектор 0 от вашего раздела, это разные вещи. Мне нужен сектор LBA0, в котором находится таблица разделов, а не логический сектор 0 от вашего раздела. Если вы этого не понимаете, то дальше я ничем помочь не смогу.

Добавлено через 54 минуты
ARRAYBOW, дисковые функции (INT 0x13) не в курсе логической конструкции вашего раздела. Они оперируют только LBA номерами секторов. Их ещё называют физическими секторами, для отличия от логических секторов раздела. Судя по скрину VBR, логическому сектору 0 вашего раздела соответствует LBA сектор с номером 0x800, следовательно логический сектор 1 от вашего раздела соответствует LBA сектору с номером 0x801. Его и надо скармливать функции чтения, а не 1.
1
Эксперт Hardware
Эксперт Hardware
 Аватар для R71MT
6215 / 2449 / 403
Регистрация: 29.07.2014
Сообщений: 3,181
Записей в блоге: 4
26.10.2025, 07:10
Лучший ответ Сообщение было отмечено Mikl___ как решение

Решение

ARRAYBOW, вирт.диски имеют другую лог.структуру, нежели физ.харды. Например на вашем скрине видно, что в дампе нет таблицы разделов по смещению 01BEh. Если вы хотите приблизить обстановку к реальной, то используйте в качестве бут-девайсов или флоп, или флэшку. Это просто реализовать, зато при тестах на реальном железе получить профит.

1. Чтобы сделать образ реального флопика, достаточно в редакторе HxD создать новый файл размером строго 1.474.560 байт, и сохранить его с расширением *.img. Теперь можете вставить в его сектор(0) бинарник своего загрузчика, обязательно комбинацией Ctrl+B (вставка с заменой). Если вставить по Ctrl+C, размер образа флопа увеличится, и QEMU не примет его на свой борт. Для прыжков по адресам, в HxD предусмотрена комбинация Ctrl+G. Батник для запуска будет такой (в строке -drive измените путь до образа *.img на свой):

Code
1
2
3
4
5
6
7
8
C:
cd "C:\Program Files (x86)\qemu\"
qemu-system-x86_64 ^
-m 1024M ^
-net nic,model=virtio ^
-net user,hostfwd=tcp::5555-:80 ^
-drive format=raw,file=D:\ASM\MyOS.img,index=0,if=floppy
rem pause

2. Чтобы сделать образ Boot-флешки, нужно отформатировать её на хосте, и записать в первый байт таблицы разделов по смещению 0x01BE, флаг загрузочного тома 80h. Здесь аналогично бросаете загрузчик в сектор(0) MBR, а вот начало лог.раздела носителя будет лежать уже по смещению 01С6h - это и будет указателем на VBR/PBR. На хардах лог.раздел начинается обычно с сектора(63) =3Fh, а на флешках с сектора(1024) =400h.

Вот образ ОС на флопике, которую я писал недавно для экспериментов, но так и не закончил (остался переход в РМ и LongMode). Можете протестировать батником выше. Там есть и чтение секторов AH=42h, и многое другое.
Вложения
Тип файла: zip MyOS.zip (8.4 Кб, 4 просмотров)
1
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6817 / 2056 / 239
Регистрация: 14.12.2014
Сообщений: 4,320
Записей в блоге: 12
26.10.2025, 11:13
Цитата Сообщение от ARRAYBOW Посмотреть сообщение
VBR всегда находится на секторе 0
В секторе LBA 0 физического диска находится MBR, а VBR находится в секторе 0 логического диска. Через int 13h вы работаете с физическим диском. Поэтому, если ваш сектор лежит в логическом разделе и грузится оттуда (хотя судя по заголовку вашего загрузчика нет такого ощущения), то следующий за ним сектор вы не прочитаете, обратившись к LBA 1.

Цитата Сообщение от ARRAYBOW Посмотреть сообщение
Сектор 0 это тот, который грузится через MBR, а 1 сектор я гружу сам
Сектор LBA 0 — это и есть MBR, а VBR/PBR — нулевой сектор в загрузочном разделе, они редко имеют номер LBA 1. Если вы загружаете сектор LBA 1, то не называйте его PBR или VBR. Это просто продолжение вашего загрузчика. Вам что нужно загрузить? Второй физический сектор с диска или VBR какого-то раздела?

Вы прислали скрин, но там непонятно: сектора 0 и 1 — это сектора физического диска или логического?

P.S. Вы cld добавили в код? Это критически важно. А отладку через Bochs сделали (кстати, чтобы получить GUI-отладчик, добавьте в разделе "Display & Interface" в строке "Display Library options" опцию gui_debug)? Что видите?

Вообще, у вас много лишнего кода. Даже вместо repe cmpsb можно сделать проверку просто через cmp dword [адрес],4байта + cmp word [адрес+4],2байта.
1
Чугунные скороходы
 Аватар для ARRAYBOW
17 / 16 / 3
Регистрация: 25.12.2022
Сообщений: 367
26.10.2025, 12:18  [ТС]
Цитата Сообщение от Argogo Посмотреть сообщение
LBA0 и логический сектор 0 от вашего раздела, это разные вещи. Мне нужен сектор LBA0, в котором находится таблица разделов, а не логический сектор 0 от вашего раздела. Если вы этого не понимаете, то дальше я ничем помочь не смогу.
В 0 и 1 секторах находятся копии MBR (поставил MBR от Windows, т.к. он 1 сектор всего занимает). С 2 по 58 не очень понятные мне байты находятся. С 59 по 61 тоже непонятные байты, но большинство из них - нули. Дальше нули и FF находятся. На фото 59 и 60 сектора.
Миниатюры
Как прочитать диск с помощью int 13h  
0
Чугунные скороходы
 Аватар для ARRAYBOW
17 / 16 / 3
Регистрация: 25.12.2022
Сообщений: 367
26.10.2025, 12:31  [ТС]
Цитата Сообщение от R71MT Посмотреть сообщение
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
mov   ax, word[$$+0x01c6]
    push  0         ;// StartLBA Hight
    push  0
    push  0 
    push  ax        ;// StartLBA Low
    push  0         ;// Buffer Segment
    push  0x7F00    ;// Buffer Offset (приёмный буф, измените на свой)
    push  1         ;// Sector Counter (сколько секторов читать)
    push  16        ;// Sizeof Packet
mov ah, 42h     ;// функция 42h = чтение секторов в память
    xor dh, dh
    mov si, sp
    int 13h
    add sp,16
jc .rderror
    xor ax, ax
    mov al, dl
    push ax
Вроде он теперь правильно читает. Осталось разобраться, где нужно читать, чтобы получить 1 сектор логического диска (как мне подсказали).
Миниатюры
Как прочитать диск с помощью int 13h  
0
Чугунные скороходы
 Аватар для ARRAYBOW
17 / 16 / 3
Регистрация: 25.12.2022
Сообщений: 367
26.10.2025, 12:54  [ТС]
Цитата Сообщение от ARRAYBOW Посмотреть сообщение
В 0 и 1 секторах находятся копии MBR (поставил MBR от Windows, т.к. он 1 сектор всего занимает). С 2 по 58 не очень понятные мне байты находятся. С 59 по 61 тоже непонятные байты, но большинство из них - нули. Дальше нули и FF находятся. На фото 59 и 60 сектора.
Создал новый VHD, поставил MBR и VBR, поставил 2 раздела. Теперь остался только сектор 0, остальные нули
0
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6817 / 2056 / 239
Регистрация: 14.12.2014
Сообщений: 4,320
Записей в блоге: 12
26.10.2025, 13:11
Цитата Сообщение от ARRAYBOW Посмотреть сообщение
Осталось разобраться, где нужно читать, чтобы получить 1 сектор логического диска (как мне подсказали).
https://ru.wikipedia.org/wiki/... ия_раздела
4 блока по 16 байт. В каждом есть признак активности раздела (byte, смещение 0) и начало раздела (dword, смещение 8).
Проверяете каждый, смотрите, какой из них активный, берёте номер сектора начала раздела и оттуда читаете.

Почитайте заодно алгоритм "Выбор загрузочного раздела и проверка целостности MBR".

Добавлено через 4 минуты
Цитата Сообщение от ARRAYBOW Посмотреть сообщение
С 2 по 58 не очень понятные мне байты находятся. С 59 по 61 тоже непонятные байты, но большинство из них - нули. Дальше нули и FF находятся. На фото 59 и 60 сектора.
Ничего особенного там нет, если диск не имеет разметку GPT. Сектора LBA 1-63 содержат либо GPT, либо нули, либо часть загрузчика, либо мусор.
Если диск размечен как GPT, то MBR тоже содержит Partition Table, и первый диск указан, начиная с сектора LBA 1 и имеет тип (байт по смещению 4) = 0xEE (или 0xED).

Добавлено через 4 минуты
Теоретически первый логический раздел может начинаться с сектора LBA 1, но как правило, оставшиеся 62 сектора на 0-й дорожке (0-й головки) не трогают.
Часто даже делают выравнивание до 1 МБ (т.е. первые 2048 секторов не трогают).
1
Эксперт Hardware
Эксперт Hardware
 Аватар для R71MT
6215 / 2449 / 403
Регистрация: 29.07.2014
Сообщений: 3,181
Записей в блоге: 4
26.10.2025, 19:54
ARRAYBOW, покажите дамп сектора(0) вашего только-что созданного вирт.диска *.vhd, без скопированного поверх загрузчика MBR и прочего - только девственный диск. У меня например он выглядит так:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
 
00000000  63 6F 6E 65 63 74 69 78 00 00 00 02 00 01 00 00  conectix........
00000010  00 00 00 00 00 00 02 00 2C DE 85 4A 76 70 63 20  ........,Ю…Jvpc 
00000020  00 01 00 00 57 69 32 6B 00 00 00 1F C0 00 00 00  ....Wi2k....А...
00000030  00 00 00 1F C0 00 00 00 FE FE 10 FF 00 00 00 03  ....А...юю.я....
00000040  FF FF EC 5F 98 1A A4 FC 25 67 4F 08 BE 39 0E 92  яям_..¤ь%gO.ѕ9.’
00000050  44 9F 90 93 00 00 00 00 00 00 00 00 00 00 00 00  Dџђ“............
00000060  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
.............
000001A0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000001B0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000001C0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000001D0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000001E0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000001F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
1
Чугунные скороходы
 Аватар для ARRAYBOW
17 / 16 / 3
Регистрация: 25.12.2022
Сообщений: 367
27.10.2025, 11:58  [ТС]
Цитата Сообщение от R71MT Посмотреть сообщение
покажите дамп сектора(0) вашего только-что созданного вирт.диска *.vhd, без скопированного поверх загрузчика MBR и прочего - только девственный диск
До иниализации диска (установки таблицы разделов) везде нули, после иницализации автоматически встает MBR от Windows:
Code
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
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
 
00000000  33 C0 8E D0 BC 00 7C 8E C0 8E D8 BE 00 7C BF 00  3ÀŽÐ¼.|ŽÀŽØ¾.|¿.
00000010  06 B9 00 02 FC F3 A4 50 68 1C 06 CB FB B9 04 00  .¹..üó¤Ph..Ëû¹..
00000020  BD BE 07 80 7E 00 00 7C 0B 0F 85 0E 01 83 C5 10  ½¾.€~..|..…..ƒÅ.
00000030  E2 F1 CD 18 88 56 00 55 C6 46 11 05 C6 46 10 00  âñÍ.ˆV.UÆF..ÆF..
00000040  B4 41 BB AA 55 CD 13 5D 72 0F 81 FB 55 AA 75 09  ´A»ªUÍ.]r..ûUªu.
00000050  F7 C1 01 00 74 03 FE 46 10 66 60 80 7E 10 00 74  ÷Á..t.þF.f`€~..t
00000060  26 66 68 00 00 00 00 66 FF 76 08 68 00 00 68 00  &fh....fÿv.h..h.
00000070  7C 68 01 00 68 10 00 B4 42 8A 56 00 8B F4 CD 13  |h..h..´BŠV.‹ôÍ.
00000080  9F 83 C4 10 9E EB 14 B8 01 02 BB 00 7C 8A 56 00  ŸƒÄ.žë.¸..».|ŠV.
00000090  8A 76 01 8A 4E 02 8A 6E 03 CD 13 66 61 73 1C FE  Šv.ŠN.Šn.Í.fas.þ
000000A0  4E 11 75 0C 80 7E 00 80 0F 84 8A 00 B2 80 EB 84  N.u.€~.€.„Š.²€ë„
000000B0  55 32 E4 8A 56 00 CD 13 5D EB 9E 81 3E FE 7D 55  U2äŠV.Í.]ëž.>þ}U
000000C0  AA 75 6E FF 76 00 E8 8D 00 75 17 FA B0 D1 E6 64  ªunÿv.è..u.ú°Ñæd
000000D0  E8 83 00 B0 DF E6 60 E8 7C 00 B0 FF E6 64 E8 75  èƒ.°ßæ`è|.°ÿædèu
000000E0  00 FB B8 00 BB CD 1A 66 23 C0 75 3B 66 81 FB 54  .û¸.»Í.f#Àu;f.ûT
000000F0  43 50 41 75 32 81 F9 02 01 72 2C 66 68 07 BB 00  CPAu2.ù..r,fh.».
00000100  00 66 68 00 02 00 00 66 68 08 00 00 00 66 53 66  .fh....fh....fSf
00000110  53 66 55 66 68 00 00 00 00 66 68 00 7C 00 00 66  SfUfh....fh.|..f
00000120  61 68 00 00 07 CD 1A 5A 32 F6 EA 00 7C 00 00 CD  ah...Í.Z2öê.|..Í
00000130  18 A0 B7 07 EB 08 A0 B6 07 EB 03 A0 B5 07 32 E4  . ·.ë. ¶.ë. µ.2ä
00000140  05 00 07 8B F0 AC 3C 00 74 09 BB 07 00 B4 0E CD  ...‹ð¬<.t.»..´.Í
00000150  10 EB F2 F4 EB FD 2B C9 E4 64 EB 00 24 02 E0 F8  .ëòôëý+Éädë.$.àø
00000160  24 02 C3 49 6E 76 61 6C 69 64 20 70 61 72 74 69  $.ÃInvalid parti
00000170  74 69 6F 6E 20 74 61 62 6C 65 00 45 72 72 6F 72  tion table.Error
00000180  20 6C 6F 61 64 69 6E 67 20 6F 70 65 72 61 74 69   loading operati
00000190  6E 67 20 73 79 73 74 65 6D 00 4D 69 73 73 69 6E  ng system.Missin
000001A0  67 20 6F 70 65 72 61 74 69 6E 67 20 73 79 73 74  g operating syst
000001B0  65 6D 00 00 00 63 7B 9A C2 E7 5F 59 00 00 00 00  em...c{šÂç_Y....
000001C0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000001D0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000001E0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000001F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA  ..............Uª
0
Эксперт Hardware
Эксперт Hardware
 Аватар для R71MT
6215 / 2449 / 403
Регистрация: 29.07.2014
Сообщений: 3,181
Записей в блоге: 4
27.10.2025, 13:17
Это не то.. Вы-же пишите, что грузитесь в qemu с вирт.диска VHD, пропуская первые 5Ah байт от начала:

Цитата Сообщение от ARRAYBOW Посмотреть сообщение
Сообщение от Argogo
Как в эмуляторе настроена загрузка: как с дискеты или как с жёсткого диска?
-------------
С жесткого диска, а именно с vhd. Внутри находится 2 раздела: на 33 мб FAT32 с моим VBR, и обычный раздел NTFS на 49,96 гб.
Утилита qemu-image create -f .. вроде не поддерживает-же создание дисков VHD, а только RAW и QCOW2. Тогда где вы создаёте вирт *.vhd? Мне просто нужно сравнить формат с моим *.vhd, который я создал в VirtualBox / VirtualPC. Это открытая спека (см.скрепку) где указано, что сектор(0) является служебным.
Вложения
Тип файла: zip Virtual Hard Disk Format Spec_10_18_06.zip (37.2 Кб, 4 просмотров)
1
Чугунные скороходы
 Аватар для ARRAYBOW
17 / 16 / 3
Регистрация: 25.12.2022
Сообщений: 367
27.10.2025, 14:03  [ТС]
Цитата Сообщение от R71MT Посмотреть сообщение
Тогда где вы создаёте вирт *.vhd?
Менеджер дисков от Windows
Цитата Сообщение от R71MT Посмотреть сообщение
покажите дамп сектора(0) вашего только-что созданного вирт.диска *.vhd
Я неправильно понял вас, я скинул данные самого диска, а не файла. Вот файл:
Code
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
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
 
00000000  63 6F 6E 65 63 74 69 78 00 00 00 02 00 01 00 00  conectix........
00000010  00 00 00 00 00 00 02 00 30 91 EF 58 77 69 6E 20  ........0‘ïXwin 
00000020  00 0A 00 00 57 69 32 6B 00 00 00 00 40 00 00 00  ....Wi2k....@...
00000030  00 00 00 00 40 00 00 00 08 20 10 3F 00 00 00 03  ....@.... .?....
00000040  FF FF EE 0E 75 82 F0 7E 42 54 3C 47 95 9F F6 9B  ÿÿî.u‚ð~BT<G•Ÿö›
00000050  D2 2B FC 7C 00 00 00 00 00 00 00 00 00 00 00 00  Ò+ü|............
00000060  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000070  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000080  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000090  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000000A0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000000B0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000000C0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000000D0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000000E0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000000F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000100  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000110  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000120  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000130  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000140  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000150  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000160  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000170  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000180  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000190  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000001A0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000001B0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000001C0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000001D0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000001E0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000001F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000200  63 78 73 70 61 72 73 65 FF FF FF FF FF FF FF FF  cxsparseÿÿÿÿÿÿÿÿ
00000210  00 00 00 00 00 00 06 00 00 01 00 00 00 00 02 00  ................
00000220  00 20 00 00 FF FF F4 75 00 00 00 00 00 00 00 00  . ..ÿÿôu........
00000230  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000240  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000250  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000260  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000270  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000280  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000290  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000002A0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000002B0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000002C0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000002D0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000002E0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000002F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000300  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000310  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000320  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000330  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000340  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000350  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000360  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000370  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000380  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000390  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000003A0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000003B0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000003C0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000003D0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000003E0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000003F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
1
Эксперт Hardware
Эксперт Hardware
 Аватар для R71MT
6215 / 2449 / 403
Регистрация: 29.07.2014
Сообщений: 3,181
Записей в блоге: 4
27.10.2025, 14:26
во, спасибо, то-что надо.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.10.2025, 14:26

Как проверить поддержку расширенного режима работы с int 13h из-под Windows?
Всем привет. Необходимо из-под Windows (включая x64) проверить - поддерживает ли BIOS'овский int...

Чтение диска (int 13h ah=02h) - как определить входные параметры?
Добрый день. Я читаю флоппи диск прерыванием 13h AH=2 есть исходный код. Вопрос- какой там алгоритм...

Функция 48h int 13h
Расскажите, пожалуйста, про функцию 48h прерывания 13h. Где про Int 13h находил, там про такую...

DOS виснет на int 13h при чтении MBR жесткого диска
читаю MBR жесткого диска, досю гружу с флешки, как доходит до инт 13 - встает. masm .model small...

Будут ли работать функции прерывания int 13h с виртуальным флоппи диском
Все привет) Меня интересует будут ли работать функции прерывания int 13h с виртуальным флоппи...


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

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
Новые блоги и статьи
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml, в чате форсили функторы модулей как суперфичу. Пытаясь отдуплить концепт, наткнулся на тутор с простым примером. А главный принцип обучения от. . .
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru