Нипонятки с boot.bin

Тема в разделе "WASM.OS.DEVEL", создана пользователем Blackbeam, 23 мар 2011.

  1. Blackbeam

    Blackbeam New Member

    Публикаций:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    960
    никогда не увлекался .. этим, больше склонен к генерации идей и размышлениям о вечных ценностях, но прочитал несколько статей и как водится решил написать свою ось

    возникло несколько вопросов:

    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

    насм молчит, ошибок не видно...

    тоже самое и с другими бутами и с другими компиляторами :dntknw: привык к масму32 и к хорошей IDE, которая сама всё делает

    в машинных кодах проще ...
     
  2. GLEB

    GLEB New Member

    Публикаций:
    0
    Регистрация:
    12 ноя 2007
    Сообщения:
    83
    Откомпилируй этот код, получишь файл размром 512 байт, потом запиши его содержимое в первый сектор флешки (НЕ ЖЕСТКОГО ДИСКА!!!), например WinHex-ом, загрузись с этой флешки, увидишь на экране "Hello from the world of real programming!"
     
  3. Blackbeam

    Blackbeam New Member

    Публикаций:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    960
    да, всё как бы просто

    но у меня нет флоппи дисковода

    из эмуляторов только виртуал бокс. в статьях упоминается в основном бош, который сам по себе настолько заморочен, что надо проходить дополнительный курс обучения...

    а жизнь коротка

    и всё таки, почему код не компилица? где-то читал что насм не понимает [ORG 0x7C00], вроде

    -------------------

    как было бы удобно - иметь среду разработки осей из-под хрюши: простенький компилятор, который знает только команды процессора, удобную IDE - нажал кнопку откомпилилось, нажал другую - запускается эмулятор т.д.

    и тогда останутся время и силы для творчества
     
  4. r90

    r90 New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2005
    Сообщения:
    898
    Blackbeam
    Виртуалбоксу можно подсунуть файл размером в 1440Kb, сказать что это дискета и заказать загрузку с неё. Поройся в опциях командной строки виртуалбокса.
     
  5. r90

    r90 New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2005
    Сообщения:
    898
    Blackbeam
    Дык напиши. Возьми удобную IDE, удобный асм, удобный эмуль, и напиши две сотни строк кода интегрированных в IDE, которые будут по нажатию одной кнопки запускать асм (или лучше make), по нажатию другой кнопки запускать эмулятор.
    Да и вообще всё это делается на make, в IDE надо лишь забиндить две кнопки для запуска make с разными таргетами. Тогда можно даже одну кнопку для запуска эмулятора, make сама разберётся надо ли что-то компилировать или нет.
     
  6. Igor1024

    Igor1024 Васил Троянов Боянов (Azis)

    Публикаций:
    0
    Регистрация:
    15 окт 2010
    Сообщения:
    345
    Адрес:
    Sliven, Bulgaria
    512 байтные .bin'ы VirtualBox прекрасно кушает, если ему указать, что это дискета.
     
  7. Blackbeam

    Blackbeam New Member

    Публикаций:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    960
    во сне присниось, что хрюша по умолчанию запресчает запуск левых 16-битных программ

    лёд тронулся

    однако, виртуал бокс сказал, что сигнатура должна быть db 0x55, 0xAA