Форум программистов, компьютерный форум, киберфорум
Assembler: DOS/Real Mode/16-bits
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 06.04.2013
Сообщений: 51
1

Считывание Boot сектора DOS

21.04.2014, 20:46. Показов 734. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите, пожалуйста. Необходимо считать boot сектор dos и определить какой по счету сектор, с которого начинается корневой директорий. Пользуюсь int 13h. CF не взведен, ошибки в ah нет. Но переменные, в которые считываются данные пустые. Использую не полностью установленный dos, а dosbox в котором есть только tasm. Может ли это повлиять на результат?
Листинг программы:
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
.model tiny
.code
org      100h;
start:
    XOR AX,AX;
    XOR BX,BX;
    MOV ah,33h;
    MOV bl, ah;
    shl BX,1;
    CALL TAB[BX];
    ret;
;===========================================================
;                 variables and procedures                 *
;===========================================================
TAB DW 51 dup (PZ),PI, 204 DUP (PZ);
message db "Undefined function!", 0DH, 0Ah, '$';
buf DB (?), (?), (?);       Команда JMP xxxx - переход типа NEAR на программу начальной загрузки 
firma DB 8 dup(?);      Название фирмы-производителя операционной системы и версия, например: "IBM 5.0" 
Sect_siz DW (?);        Количество байтов в одном секторе диска.
Clust_size DB (?);      Количество секторов в одном кластере.
Res_sect DW (?);        Количество зарезервированных секторов.
Fat_cnt DB (?);         Количество таблиц FAT.
Root_size DW (?);       Максимальное количество дескрипторов файлов, содержащихся в корневом каталоге диска. 
Tot_sect DW (?);        Общее количество секторов на носителе данных (в разделе DOS). 
Media DB (?);           Байт-описатель среды носителя данных.
Fat_size DW (?);        Количество секторов, занимаемых одной копией FAT. 
Sectors DW (?);         Количество секторов на дорожке
Heads DW (?);           Количество магнитных головок
Hidden_1 DW (?);        Количество скрытых секторов для раздела, который по размеру меньше 32 мегабайтов. 
Hidden_h DW (?);        Количество скрытых секторов для раздела, превышающего по размеру 32 мегабайта. (Только для DOS 4.0). 
Tot_secs DD (?);        Общее количество секторов на логическом диске для раздела, превышающего по размеру 32 мегабайта. 
Dat DB 476 dup (?);     
PZ PROC
    MOV ah,09h;
    MOV DX, offset message;
    int 21h;
    ret;
PZ ENDP;
PI PROC
    XOR AX,AX;
    MOV ch,00h;
    MOV cl,01h;
    MOV dh,00h;
    MOV dl,80h;
    MOV AX,CS;
    MOV ES,AX;
    mov bx, offset buf;
    MOV ah,02h;
    MOV al,01h;
    int 13h;
    ;pop DX;
    XOR AX,AX;
    MOV AX,Res_sect;
        XOR BX,BX;
        MOV bl,Fat_cnt;
        ADD AX,BX;
    ADD AX,1;
    ret;
PI ENDP;
end start;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.04.2014, 20:46
Ответы с готовыми решениями:

Формат boot-сектора NTFS
Расскажите, пожалуйста, какой формат у загрузочного сектора NTFS. Прочитал загрузочный сектор, а...

Считывание Boot сектора DOS
Подскажите, пожалуйста. Необходимо считать boot сектор dos и определить какой по счету сектор, с...

Считывание Boot сектора DOSBox
Здравствуйте! Изучаю ассемблер по книге "П. И. Рудаков, К. Г. Финогенов 2001 ЯЗЫК АССЕМБЛЕРА -...

Загрузка (Boot) c загрузочного сектора виндовса
Вместо загрузки с жесткого диска ( такая опция пропала в boot), операционная система грузится с...

0
21.04.2014, 20:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.04.2014, 20:46
Помогаю со студенческими работами здесь

Резидентное считывание с Serial порта DOS
{$M $4000, 0, 0 } USES Dos, Crt, Sync; VAR s1:Integer; s3:Char; PortVec : Procedure;...

reboot and select proper boot device or insert boot media in selected boot deviced and press a key
что это такое: reboot and select proper boot device or insert boot media in selected boot deviced...

Reboot and Select proper Boot deviceor Insert Boot Media in selected Boot deviceand press a key
здравствуйте уважаемые эксперты, компьютер с недавнего времени начал глючить и зависать, сегодня...

Reboot and Select proper Boot device or Insert boot Media in selected Boot device and Pres a key - компьютер не грузится
Не грузится комп выходит надпись Reboot and Select proper Boot device or Insert boot Media in...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru