Page 1 of 2
Пытаюсь понять, как писать под КолибриОС
Posted: Mon Jun 06, 2011 12:59 pm
by Элита
Привет всем.
http://diamond.kolibrios.org/hll/hll.htm - вот здесь нашел пример того, как должна писаться программа для Колибри на FASM.
Code: Select all
include "macros.inc"
MEOS_APP_START
CODE
redraw:
call draw_window
wait_event:
mcall 10
dec eax
jz redraw
dec eax
jz key
; button pressed; we have only one button, close
mcall -1
key:
; key pressed, read it and ignore
mcall 2
jmp wait_event
draw_window:
mcall 12, 1 ; start redraw
mcall 0, <10,150>, <40,50>, 0x33FFFFFF, , header ; define&draw window
mcall 4, <30,10>, 0x80000000, string ; display string
mcall 12, 2 ; end redraw
ret
DATA
header db 'HelloWorld test',0
string db 'Hello, World!',0
UDATA
MEOS_APP_END
Выкладываю скриншоты. Вдруг я где-то что-то упустил, не написал.
Re: Пытаюсь понять, как писать под КолибриОС
Posted: Mon Jun 06, 2011 1:04 pm
by Элита
mcall 0, <10,150>, <40,50>, 0x33FFFFFF дописал, но все равно не пашет, пишет то же самое
Re: Пытаюсь понять, как писать под КолибриОС
Posted: Mon Jun 06, 2011 1:06 pm
by Mario
macros.inc должен лежать в одном каталоге с программой
Re: Пытаюсь понять, как писать под КолибриОС
Posted: Mon Jun 06, 2011 1:10 pm
by Элита
Mario wrote:
macros.inc должен лежать в одном каталоге с программой
Вот этот? (см. ниже)
Re: Пытаюсь понять, как писать под КолибриОС
Posted: Mon Jun 06, 2011 1:16 pm
by Элита
Что-то у меня не получилось скопировать "macros.inc" в папку "Develop"
Re: Пытаюсь понять, как писать под КолибриОС
Posted: Mon Jun 06, 2011 1:18 pm
by Mario
1. Лучше взять тот который на SVN. Я не знаю какой у тебя лежит.
2. Свободного места на рамдиске очень мало - остается удалить что-либо ненужное, а вообще Колибри нормально работает на запись с любым исправным FAT16./32 разделом на жестком диске.
Re: Пытаюсь понять, как писать под КолибриОС
Posted: Mon Jun 06, 2011 1:21 pm
by Элита
Можно ли в Windows написать все это, а затем как-то собрать образ диска/дискеты КолибриОС? Может есть подробное руководство для чайников? А то не могу самостоятельно что-то разобраться.
Re: Пытаюсь понять, как писать под КолибриОС
Posted: Mon Jun 06, 2011 1:38 pm
by Mario
Re: Пытаюсь понять, как писать под КолибриОС
Posted: Mon Jun 06, 2011 3:24 pm
by Элита
ааааа сейчас начну кипятком писать!!!!!!
Вот что пишет FASM при наличии всех *.inc :
Re: Пытаюсь понять, как писать под КолибриОС
Posted: Mon Jun 06, 2011 3:25 pm
by Элита
Это я уже из под "окон" пытаюсь скомпилировать
Re: Пытаюсь понять, как писать под КолибриОС
Posted: Mon Jun 06, 2011 3:27 pm
by Mario
Выложи сюда полный код своей программы.
Re: Пытаюсь понять, как писать под КолибриОС
Posted: Mon Jun 06, 2011 3:35 pm
by Элита
Mario wrote:Выложи сюда полный код своей программы.
В самом первом сообщении и ссылка на код, и сам код. Это не моя программа, а пример diamond'а, как писать программу на FASM. Даже с ним не могу разобраться. Позор какой.
Re: Пытаюсь понять, как писать под КолибриОС
Posted: Mon Jun 06, 2011 3:44 pm
by Mario
Я лично не пользовался MEOS_APP_START - для меня проще и понятней написать нормальный человеческий заголовок:
Code: Select all
use32
db 'MENUET01'
dd 0x01
dd START
dd I_END
dd mem
dd stacktop
dd 0x0
dd path
Смотри файл example.asm
Re: Пытаюсь понять, как писать под КолибриОС
Posted: Mon Jun 06, 2011 4:01 pm
by Элита
Хорошо, спасибо.. Буду разбираться
Re: Пытаюсь понять, как писать под КолибриОС
Posted: Mon Jun 06, 2011 5:13 pm
by CleverMouse
Статья diamond'а довольно старая, а после того, как он ушёл, перспективы на обновление крайне низкие. С момента написания статьи какой-то кто-то ввёл в macros.inc макрос по имени header, тем самым жестоко обломав все существующие программы, использующие это имя.
Нужно, например, заменить везде в программе header на title.
И более глобально - статья diamond'а не про это, а HelloWorld подробно разбирается в первом e-zin'е, который включён в SDK.