Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2016, 20:14   #1
Троллев
Пользователь
 
Регистрация: 09.03.2016
Сообщений: 29
По умолчанию DVD-RW на котором DOS-6,6 как написать?

Как его (диск) открывать для отладки кода? Как начать писать в нем код? Как на нем создавать DOS?
Троллев вне форума Ответить с цитированием
Старый 09.12.2016, 21:47   #2
Троллев
Пользователь
 
Регистрация: 09.03.2016
Сообщений: 29
По умолчанию

Опять таки, что такое начальный загрузчик? Как (чем?) его скомпилировать?
Троллев вне форума Ответить с цитированием
Старый 09.12.2016, 23:36   #3
Троллев
Пользователь
 
Регистрация: 09.03.2016
Сообщений: 29
По умолчанию

Итак DVD-RW в дисководе. Если отключить реальный жосткий диск, то тогда этот DVD-RW определяется в биосе как главный диск. Скачал FASM/1.20.

Как закодить загрузочный сектор? Как все-таки вообще работать с диском??
Троллев вне форума Ответить с цитированием
Старый 10.12.2016, 01:44   #4
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

У вас каша со словами.
Цитата:
Как все-таки вообще работать с диском??
А вам как программисту или как пользователю? И в какой ОС?

Цитата:
Как закодить загрузочный сектор?
Вот первая ссылка в гугле
https://habrahabr.ru/post/107030/
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 10.12.2016, 09:56   #5
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,220
По умолчанию

Логин пользователя намекает на толстый троллинг...
Arigato на форуме Ответить с цитированием
Старый 11.12.2016, 22:47   #6
Троллев
Пользователь
 
Регистрация: 09.03.2016
Сообщений: 29
По умолчанию

Благодарю!! Очень благодарю! Ссылка великолепнейшая. Да.

Я нагугливал Википедию и т.п. Там куча словесных объяснений, понял я плохо. А тут очень таки классно расписано. Очень.

И в какой ОС? Виндовс XP SP3.

А вам как программисту или как пользователю? Я программистом себя не считаю. Я в былые годы несколько окон на ASM скомпилировал. И то помню плохо.
Все таки как программисту, мне интереснее лучше самому понять, что и как в машине происходит.

Последний раз редактировалось Троллев; 11.12.2016 в 22:53.
Троллев вне форума Ответить с цитированием
Старый 12.12.2016, 13:52   #7
Троллев
Пользователь
 
Регистрация: 09.03.2016
Сообщений: 29
По умолчанию

Вот эта фраза отчасти рвет мозг

После того как BIOS обнаружит все устройства, и выполнит все необходимое для себя, он грузит первый сектор дискеты в память по адресу 0000:7C00 и передает туда управление.

Куда грузит? Правда не доходит. Поначалу меня глюконуло, что банально переписывает с места на место, на дискету снова, дублирует выше. Ниже. Понял что бред и написано не так.
В память программы? Но ее как таковой еще нет, и вообще пока есть только биос.

Хотя конечно я могу работать и без детального понимания.

Дальше. Синтакс.

К стати компилирую батником
Код:
C:\Fasm\FASMW.EXE C:\B\new1.asm new1.com > log.txt 2> log2.txt

pause
Код

Код:
Use16
org     0x7C00
start:
        cli                     ; Запрещаем прерывания
        mov     ax, cs          ; Инициализируем сегментные регистры
        mov     ds, ax
        mov     es, ax
        mov     ss, ax
        mov     sp, 0x7C00      ; Т.к. стек растет в обратную сторону, то код не затрется
       
        mov     ax, 0xB800
        mov     gs, ax          ; Использовал для вывода текста прямой доступ к видеопамяти
       
        mov     si, msg
        call    k_puts
       
        hlt                     ; Останавливаем процессор
       
        jmp     $               ; И уходим в бесконечный цикл
       
k_puts:
        lodsb
        test    al, al
        jz      .end_str
        mov     ah, 0x0E
        mov     bl, 0x07                ; Серый на черном
        int     0x10
       
        jmp     k_puts
 
.end_str
ret
 
msg     db 'Hello world', 0x0d, 0x0a, 0
 
times 510-($-$$) db 0
        db 0x55, 0xaa
Что такое .end_str?? Это законное понятие?
Троллев вне форума Ответить с цитированием
Старый 12.12.2016, 14:31   #8
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

БИОС грузит первый сектор диска в оперативное запоминающие устройство (ОЗУ)

Цитата:
по адресу 0000:7C00 и передает туда управление.
Адрес неправильный, БИОС грузит загрузочный сектор по линейному адресу 07C000h. А вот дальней-адрес может быть любым 0000:7C00 или 07с0:0000 или 0700:0С00 и тп.

Цитата:
Сообщение от Троллев Посмотреть сообщение
Что такое .end_str?? Это законное понятие?
Это метка, просто пропущен знак ":".
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .

Последний раз редактировалось Pavia; 12.12.2016 в 14:33.
Pavia вне форума Ответить с цитированием
Старый 12.12.2016, 14:34   #9
Троллев
Пользователь
 
Регистрация: 09.03.2016
Сообщений: 29
По умолчанию

Спасибо Pavia!!!
Троллев вне форума Ответить с цитированием
Старый 12.12.2016, 14:35   #10
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Цитата:
В память программы? Но ее как таковой еще нет, и вообще пока есть только биос.
биос это тоже программа. и записанная в память компьютера, по известному( заданному) адресу.
можно считать что памятью программы БИОС является ВСЯ физическая (фактическая) память компьтера.
она умеет загружать другие программы в память компьютера(или "свою" память) и передавать управление (jmp) на известный ей адрес.
программа — запись алгоритма на языке понятном транслятору
evg_m на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать подпрограмму поиска количества K элементов массива, кратных 3. Для проверки подпрограммы создать драйвер, в котором - M Помощь студентам 7 14.05.2015 09:15
WmWare и DOS, как скопировать в DOS файлы zla9_kolu4ka Операционные системы общие вопросы 0 15.01.2015 18:06
Записать DVD (VIDEO_TS папку на DVD диск) Altera Софт 14 30.03.2013 21:05
осле переустановки виндовс ни могу открыть сd .dvd болванки выдает сообщения об ошибке «нет доступа к устройству). дисковод dvd rw igor 91 Компьютерное железо 0 22.12.2012 12:04
Как написать драйвер виртуального привода CD/DVD? Virus25 Общие вопросы Delphi 7 17.01.2010 01:31