Помогите новичку

Applications development, KoOS API questions
  • Code: Select all

    mov ax,c0 ;помещаем _адрес_ данных в ах
    
    Не сработает, я думаю. Ассемблер 32-битный, а не 16-битный.

    Code: Select all

    mov eax, c0
    ...
    
    add eax,1 ;может, лучше так, чем mov ax,ax+1?
    
    
  • mario,
    Совершенно верное замечание, просто в любом случае высока вероятность, что мне придется приходить сюда и спрашивать немного по-другому: "Пытался сделать вот так, почему оно не работает?" :mrgreen:

    SoUrcerer,
    add eax,1 ;может, лучше так, чем mov ax,ax+1?
    Да сто пудов лучше, я просто еще не помню наизусть всех инструкций. :wink: помнил, что должно быть что-то типа "inc" или "add", но неточно.
  • Spoiler:Image

    Image
    Ругается на строку
    mov [eax],1
    в чем я туплю? :?:

    PS длч пробы переделываю пример из SDK во избежание других ошибок...
  • Ругается как? Одного сообщения о ругани для определения причины недостаточно. Обычно FASM вполне внятно указывает на грубые синтаксические ошибки.
  • А я по-тупому пытаюсь компилировать в Tinypad :D Он просто мигает курсором и не запускает.
    Сейчас попробую в fasm.
  • Не обязательно компилировать непосредственно в FASM - всего то и нужно запустить BOARD (доска отладки) и смотреть на что ругается там.
  • Ну, я пытался запускать подпункт "Доска отладки" прямо в Тайнипэд, в пункте меню "Компиляция", но ничего не происходит, ничего не запускается.
    Так что...
    Spoiler:Image
    Я просто забыл определить размер. :)
    mov byte [eax],1, скорее всего, даст нужный результат. :)

    Почему "скорее всего" - потому что Колибри гружу с образа дискеты на флешке и сразу проверить не могу. Основная система Ubuntu, и с виртуальными машинами я практического опыта работы не имею (тем более с эмуляцией таких нестандартных ОС), так что каждый раз просто перезагружаюсь. :?
    всего то и нужно запустить BOARD
    А, ясно. В следующий раз посмотрю, что да как. А я-то думал, почему она ничего не показывает, если ее просто так запустить. :mrgreen:
  • Code: Select all

    sudo apt-get install qemu
    qemu -fda ~/kolibri.img -boot a
    
    В Ubuntu. Путь заменить на свой.
  • Зачем же так мучаться? Есть qemu и есть замечательная команда mount, когда нужно достать или положить файлы в образ.
  • Code: Select all

    COMMAND> qemu -fda /media/KO/kolibri.img -boot a
    open /dev/kvm: No such file or directory
    Could not initialize KVM, will disable KVM support
    pci_add_option_rom: failed to find romfile "pxe-rtl8139.bin"
    
    :roll:
    Если с первой матерной строчкой я еще могу что-то предположить, то последняя непонятна чуть менее, чем полностью. rtl - видимо, realtek?
  • Поставил пакеты kvm и pxe-kvm, помогло.
    Притормаживает заметно в эмуляторе, по сравнению с "настоящей" загрузкой. Не только во времени отклика заметно, но и прорисовка происходит на глазах сверху вниз. Плюс курсор ведет себя неадекватно (но это, наверное, можно настроить через чувствительность, все же), разрешение чуток не то и видно хуже. Однако для пробных компиляций сойдет. :)
  • Можно попробовать поставить AQEMU и сформировать рабочую машину в графической оболочке. Какие то файлы прописанные по умолчанию отсутствуют.
    А вообще вот viewtopic.php?f=4&t=1344 я тут чего то писал давно уже.
  • Spoiler:Image
    Не понравился я эмулятору.
  • sudo apt-get install virtualbox
    Будет побыстрее, чем qemu. Хотя чего уж там, реальная машина круче.
  • Who is online

    Users browsing this forum: No registered users and 0 guests