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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2012, 20:40   #1
EnderChiken
 
Регистрация: 23.12.2012
Сообщений: 8
Вопрос Самая простая ОС на ассемблере

Всем доброго вечера, вобщем, вопрос такой: Решил я для личного опыта взять наипростейшую ОС, и улучшать ее (чисто для личного опыта). ОС на FASM и пишет простой Hello, World. Fasm все откомпилировал и собрал отлично, только возникли проблемы с img образом. Я создал образ в UltraISO, файл start.bin сделал загрузочным, все вроде бы сохранил, а VMware Player пишет что не найдет загрузчик? В чем может быть проблема, подскажите.

Код:
org 07C00h
main:
jmp far 00:entry1


entry1: 
cli 

mov ax,cs
mov ds,ax


sti


mov ah,14

xor bl,bl

mov bx,tex


strt:
mov al,[bx]

test al,al
jz exit_


inc bx
int 10h
jmp strt

exit_:
cli
jmp $

tex db 'Hello World',0Dh,0
times 510-($-main) db 0
db 0xAA, 0x55
P.S. Друг посоветовал rawwrite, но у меня нету привода для дискет

Последний раз редактировалось EnderChiken; 23.12.2012 в 20:41. Причина: PS
EnderChiken вне форума Ответить с цитированием
Старый 24.12.2012, 09:31   #2
Станислав1
http://www.asmcode
Пользователь
 
Регистрация: 16.11.2011
Сообщений: 15
По умолчанию

Дискета не нужна, т.к. если грузитесь с флешки, то int13 будет читать сектора с неё, или в Qemu укажите бинарник как диск и запускайте.
Станислав1 вне форума Ответить с цитированием
Старый 24.12.2012, 13:36   #3
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Вообще-то задача ОС не в том, чтобы что-то писать на экране, а в том, чтобы поддерживать файловую структуру.
s-andriano вне форума Ответить с цитированием
Старый 24.12.2012, 18:45   #4
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Скорее уж тогда не файловую структуру, а менеджмент памяти и процессов.
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 24.12.2012, 19:20   #5
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от Goodwin98 Посмотреть сообщение
Скорее уж тогда не файловую структуру, а менеджмент памяти и процессов.
Если мы говорим о простейшей ОС, ни того, ни другого не требуется: она может уметь запускать единственную программу, отдавая ею всю память.
s-andriano вне форума Ответить с цитированием
Старый 24.12.2012, 20:25   #6
EnderChiken
 
Регистрация: 23.12.2012
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Станислав1 Посмотреть сообщение
Дискета не нужна, т.к. если грузитесь с флешки, то int13 будет читать сектора с неё, или в Qemu укажите бинарник как диск и запускайте.
А что когда буду модернизировать? Ведь будет много файлов, с qemu я не очень дружу, больше с Virtual Box, VMware Player
EnderChiken вне форума Ответить с цитированием
Старый 24.12.2012, 20:59   #7
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Цитата:
Сообщение от s-andriano Посмотреть сообщение
Если мы говорим о простейшей ОС, ни того, ни другого не требуется: она может уметь запускать единственную программу, отдавая ею всю память.
Ну тогда это и не ОС, а просто программа, выполнямая вне ОС.
А то тогда осью можно назвать и всякие программы для разбиения дисков, бэкапов и прочие, которые с liveCD грузятся. Они и то больше функционала несут.
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 25.12.2012, 06:17   #8
Станислав1
http://www.asmcode
Пользователь
 
Регистрация: 16.11.2011
Сообщений: 15
По умолчанию

ОС должна иметь драйверную модель первого уровня, работающие с физическими устройствами, второго уровня с логическими дисками с файловой системой, протоколами сетевыми(диски могут быть флешкой, хардом или сетевой диск). Графический интерфейс, и общая объектная модель на которой это всё. Задачи запускаются и работают в юзер моде, в своём ВАП, параллельно друг другу процессорами. Иметь модель многозадачности, и всякие кодеки.
Станислав1 вне форума Ответить с цитированием
Старый 25.12.2012, 06:24   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

советую изучить термин ОС.
ваше определение годится только под случай компа(именно компа, с их заменяемостью деталей) расчитанной на пользователей.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 25.12.2012, 06:24   #10
Станислав1
http://www.asmcode
Пользователь
 
Регистрация: 16.11.2011
Сообщений: 15
По умолчанию

Цитата:
Сообщение от EnderChiken Посмотреть сообщение
А что когда буду модернизировать? Ведь будет много файлов, с qemu я не очень дружу, больше с Virtual Box, VMware Player
Virtual Box на исходниках Qemu написана, я имел в виду, что Qemu не нужен UltraISO, а только бинарник, в котором первые 512 байт это первый сектор диска, который и есть первый загрузчик с таблицей партишенов в низу. Второй загрузчик запускается если его первый запускает и в нём шапка файловой системы и находится он на первом секторе логического диска описанного в таблице партишенов.
Станислав1 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
самая простая программа - ?ошибка? =. Katus Общие вопросы C/C++ 3 30.04.2012 20:40
Самая простая программа Assblr Общие вопросы C/C++ 3 15.07.2011 10:20
Не работает самая простая программа tregub-evgeniy Помощь студентам 1 25.12.2010 23:17
Самая простая схема, почему не сохраняет HellMercenariess БД в Delphi 3 18.12.2009 21:18
Simple Shooter - самая простая стрелялка Манжосов Денис :) Gamedev - cоздание игр: Unity, OpenGL, DirectX 19 05.04.2009 20:10