Форум программистов, компьютерный форум, киберфорум
ОС на Assembler
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
14 / 14 / 8
Регистрация: 26.09.2007
Сообщений: 921

Пробую написать загрузчик для IO.SYS

06.06.2023, 00:45. Показов 3662. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нашел исходный код MSDOS, пробую написать загрузчик для IO.SYS. В исходном коде IO.SYS загружается в сегмент

Assembler
1
2
3
4
5
6
7
8
SEGBIOS SEGMENT AT BIO_SEG
 
    ; Define the destination segment of the BIOS, including the
    ; initialization label
 
BIOS    LABEL   BYTE
 
SEGBIOS ENDS
на метку BIOS. Причем биос загружается по смещению BIO_OFFSET

Assembler
1
2
BIO_SEG     EQU 70H     ; Destingation segment of BIOS
BIO_OFFSET  EQU 700H        ; Offset of bios
Этот загрузчик написан на MASM я пишу на NASM как вычислить абсолютный адрес куда этот загрузчик ложит загруженный IO.SYS? Если

Assembler
1
ORIGIN      EQU 7C00H       ; Origin of bootstrap LOADER
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.06.2023, 00:45
Ответы с готовыми решениями:

nvlddmkm.sys, dxgkrnl.sys, dxgmms1.sys, ntoskrnl.exe, watchdog.sys
Здравствуйте! У меня такая проблема компьютер стоит 3 года в последние дни 19 июля оставил игру включенную и отошел на 5 минут пришел игра...

Как заменить загрузчик Windows Boot Manager на загрузчик Grub 2 FileManager или загрузчик Grub4Dos ?
С чего-бы начать...я уже заменил WBM на Grub 2 FM,т.е. поменял сам загрузчик...на всех разделах,кроме одного...который на 16мб и без...

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

23
Модератор
2131 / 1000 / 170
Регистрация: 23.07.2018
Сообщений: 3,349
Записей в блоге: 3
07.06.2023, 15:08
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от kurlyak Посмотреть сообщение
какие должны быть регистры ES:BX для загрузки IO.SYS в память
BIOSу(IO.SYS/IBMBIO.COM) нужно будет знать, откуда догрузить остаток себя и BDOS(MSDOS.SYS/IBMDOS.COM)
https://github.com/FDOS/kernel... emboot.asm

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
boot sector loads  up
; to 58 sectors (29KB) of the kernel (IBMBIO.COM) to 0x70:0 then
; jumps to it.  As best I can tell, PC-DOS (and MS-DOS up to version
; 6.xx behaves similar) expects on entry for:
; ch = media id byte in the boot sector
; dl = BIOS drive booted from (0x00=A:, 0x80=C:, ...)
; ax:bx = the starting (LBA) sector of cluster 2 (ie the 1st
; data sector, which is 0x0000:0021 for FAT12)
; ?note? IBMBIO.COM/IO.SYS may use ax:bx and cluster # stored
; elsewhere (perhaps dir entry still at 0x50:0) to determine
; starting sector for full loading of kernel file.
; it also expects the boot sector (in particular the BPB)
; to still be at 0x0:7C00, the directory entry for IBMBIO.COM
; (generally first entry of first sector of the root directory)
; at 0x50:0 (DOS Data Area).
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
;   +--------+
;   | CLUSTER|
;   |  LIST  |
;   |--------| 0000:7F00
;   |LBA PKT |
;   |--------| 0000:7E00  (0:BP+200)
;   |BOOT SEC| contains BPB
;   |ORIGIN  | 
;   |--------| 0000:7C00  (0:BP)
;   |VARS    | only known is 1st data sector (start of cluster 2)
;   |--------| 0000:7BFC  (DS:[BP-4])
;   |STACK   | minimal 256 bytes (1/2 sector)
;   |- - - - |
;   |KERNEL  | kernel loaded here (max 58 sectors, 29KB)
;   |LOADED  | also used as FAT buffer
;   |--------| 0070:0000 (0:0700)
;   |DOS DA/ | DOS Data Area,
;   |ROOT DIR| during boot contains directory entries
;   |--------| 0000:0500
;   |BDA     | BIOS Data Area
;   +--------+ 0000:0400
;   |IVT     | Interrupt Vector Table
;   +--------+ 0000:0000
Assembler
1
2
3
4
%define BASE            0x7c00          ; boot sector originally at 0x0:BASE
%define LOADSEG         0x0070          ; segment to load kernel at LOADSEG:0
%define LOADEND         0x07b0          ; limit reads to below this segment
                                        ; LOADSEG+29KB, else data overwritten
1
14 / 14 / 8
Регистрация: 26.09.2007
Сообщений: 921
07.06.2023, 22:25  [ТС]
Ой извините, politoto а можно как то удалить?

Добавлено через 2 часа 11 минут
Я этот исходный код MS DOS загрузил из old-dos.ru

http://old-dos.ru/index.php?pa... ow&id=4005
0
08.06.2023, 06:31

Не по теме:

Цитата Сообщение от kurlyak Посмотреть сообщение
этот исходный код MS DOS загрузил из old-dos.ru
С лицензионным соглашением от шведских доброжелателей?
Code
1
2
3
4
5
6
7
8
9
10
11
** WE KNOW THAT MANY OF YOU NEWKERS OUT THERE WiLL NEWK **
** BUT iTS JUST A RELEASE FOR ALL OF YOU THAT NEEDS iT **
** WE RELEASE THiS FOR YOU NOT TO GET CREDZ **
************************************************************
RELEASE
▀▓▓▓█▀▀ ▀ ───────── ▀ ▀▀█▓▓▓▀
▓ ▓
▓ CRACKER : NONE ▓
▓ SUPPLiER : cF SWEDEN ▓
│ RELEASE Date : 00-03-05 │
│ Packed by : cF SWEDEN │
Microsoft официально выпустила исходники MS-DOS и сопутствующую OEM-документацию для широких масс любопытствующих.
https://github.com/microsoft/M... 2.0/source

Caldera выпустила OpenDOS/DR-DOS с исходниками BDOS, BIOS и COMMAND.COM с некоммерческой лицензией

nasm'овский OEMBOOT из FreeDOS, думаю, не хуже, чем майкрософтовский

0
Модератор
2131 / 1000 / 170
Регистрация: 23.07.2018
Сообщений: 3,349
Записей в блоге: 3
08.06.2023, 06:36
Цитата Сообщение от kurlyak Посмотреть сообщение
И вот такой код
Assembler
1
ASSUME ES:CODE
значит что
Assembler
1
2
mov ax, 07c0h
mov es, ax
Попробуйте сассемблировать первый фрагмент.
Получите Вы при этом в листинге то же, что и во втором?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.06.2023, 06:36

Пробую написать простой сервер на Linux. Не запускается
Пытаюсь учить сети под линукс. У меня Mint 17, Возможно запуск программы делаю неправильно. Всё компилируеся. Пытаюсь через консоль...

MSI GTX 970 4GD5T OC Nvlddmkm.sys, dxgkrnl.sys и dxgmms1.sys
Всем привет! Видеокарта MSI GTX 970 4GD5T OC. Windows 7 x64. В последнее время стала очень часто вылезать ошибка BSoD 116, комп уходит в...

Что такое драйвера atapi.sys , pciide.sys и pciidex.sys
При попытке прогуглить эти драйвера в основном выдаёт, что это драйвера для соединения винды и жёсткого диска, это понятно, но какую именно...

Железо или софт?, nvmp.sys, ndis.sys, ntfs.sys...
Такая проблема делали ремонт без пыли и грязи комп в другой комнате винда стояла пол года ниче нового не устанавливалось, однажды включив...

BSOD 0x116 dxgkrnl.sys + dxgmms1.sys + nvlddmkm.sys
Добрый день! Столкнулся сегодня с таким BSOD. Пока что было всего 2 раза,утром,вовремя старта ПК(примерно через 15-20 минут) И...


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

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла: Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет Новости компьютерного мира и их обсуждение (4) Салют, шампанское, овации! :drink:
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru