никогда не увлекался .. этим, больше склонен к генерации идей и размышлениям о вечных ценностях, но прочитал несколько статей и как водится решил написать свою ось возникло несколько вопросов: 1. расширение .bin входит в число тех самых 512 байт? вроде нет, так же как и имя файла если я каким-то образом запишу boot.bin на жёсткий диск, а потом зайду с лайв-сиди что я увижу? если хрюша установлена, видно boot.bin 2. код из цикла статей lonesome: [ORG 0x7C00] start: cli mov ax, cs mov ds, ax mov ss, ax mov sp, start sti mov si, msg call kputs cli hlt jmp short $ kputs: .loop: lodsb test al, al jz .quit mov ah, 0x0E int 0x10 jmp short .loop .quit: ret msg: db "Hello from the world of real programming! ", 0x0A, 0x0D, 0 times 510-($- $$) db 0 db 0xAA, 0x55 не компилируется ... опции : nasm -fbin start.asm -o start.bin насм молчит, ошибок не видно... тоже самое и с другими бутами и с другими компиляторами привык к масму32 и к хорошей IDE, которая сама всё делает в машинных кодах проще ...
Откомпилируй этот код, получишь файл размром 512 байт, потом запиши его содержимое в первый сектор флешки (НЕ ЖЕСТКОГО ДИСКА!!!), например WinHex-ом, загрузись с этой флешки, увидишь на экране "Hello from the world of real programming!"
да, всё как бы просто но у меня нет флоппи дисковода из эмуляторов только виртуал бокс. в статьях упоминается в основном бош, который сам по себе настолько заморочен, что надо проходить дополнительный курс обучения... а жизнь коротка и всё таки, почему код не компилица? где-то читал что насм не понимает [ORG 0x7C00], вроде ------------------- как было бы удобно - иметь среду разработки осей из-под хрюши: простенький компилятор, который знает только команды процессора, удобную IDE - нажал кнопку откомпилилось, нажал другую - запускается эмулятор т.д. и тогда останутся время и силы для творчества
Blackbeam Виртуалбоксу можно подсунуть файл размером в 1440Kb, сказать что это дискета и заказать загрузку с неё. Поройся в опциях командной строки виртуалбокса.
Blackbeam Дык напиши. Возьми удобную IDE, удобный асм, удобный эмуль, и напиши две сотни строк кода интегрированных в IDE, которые будут по нажатию одной кнопки запускать асм (или лучше make), по нажатию другой кнопки запускать эмулятор. Да и вообще всё это делается на make, в IDE надо лишь забиндить две кнопки для запуска make с разными таргетами. Тогда можно даже одну кнопку для запуска эмулятора, make сама разберётся надо ли что-то компилировать или нет.
во сне присниось, что хрюша по умолчанию запресчает запуск левых 16-битных программ лёд тронулся однако, виртуал бокс сказал, что сигнатура должна быть db 0x55, 0xAA