1. посмотри эту тему.
viewtopic.php?f=9&t=426
2. В большинстве случаев разрабтка программ для Коос ведется из под виндовс, т.к. это удобно, в коос не так развит сервис. Нет некоторых возможностей, которые есть в виндовс. После отладки программы на эмуляторе, окончательная проверка на реальной системе.
3. поставсь себе svn клиент
http://kolibrios.org:3000/i-want-svn , далее путь programms\develop\examples\ или так
http://www.kolibrios.org/?p=SVN&kind=di ... p/examples
тут располжены примеры простых программа под коос на подобии Hello World. Обучаться ты должен самостоятельно посмотри примеры программ в этой папке.
Code: Select all
;заголовок приложения
use32 ; транслятор, использующий 32 разрядных команды
org 0x0 ; базовый адрес кода, всегда 0x0
db 'MENUET01' ; идентификатор исполняемого файла (8 байт)
dd 0x1 ; версия формата заголовка исполняемого файла
dd start ; адрес, на который система передаёт управление
; после загрузки приложения в память
dd i_end ; размер приложения
dd i_end ; Объем используемой памяти, для стека отведем 0х100 байт
dd i_end+0x100 ; расположим позицию стека в области памяти, сразу за телом программы. Вершина стека в диапазоне памяти, указанном выше
dd 0x0,0x0 ; указатель на строку с параметрами.
; если после запуска неравно нулю, приложение было
; запущено с параметрами из командной строки
; указатель на строку, в которую записан путь,
; откуда запущено приложение
;Область кода
align 4
start: ;Точка входа в программу
mov eax,40 ;установить маску для ожидаемых событий
mov ebx,0x25 ;система будет реагировать только на сообщение о перерисовке,нажата кнопка, определённая ранее, событие от мыши (что-то случилось - нажатие на кнопку мыши или перемещение; сбрасывается при прочтении)
int 0x40
red_win:
call draw_window ;первоначально необходимо нарисовать окно
still: ;основной обработчик
mov eax,10 ;Ожидать события
int 0x40 ;ожидать событие в течение 2 миллисекунд
cmp al,0x1 ;если изменилось положение окна
jz red_win
cmp al,0x3 ;если нажата кнопка то перейти
jz button
jmp still ;если ничего из перечисленного то снова в цикл
button:
or eax,-1 ;в eax,-1 - 5 ,байтов у нас же только 3 выйти
int 0x40 ;далее выполняется выход из программы
draw_window: ;рисование окна приложения
mov eax,12 ;в регистр внести значение = 12
mov ebx,1 ;присвоить 1
int 0x40
xor eax,eax ;обнулить eax
mov ebx,50*65536+180 ;[координата по оси x]*65536 + [размер по оси x]
mov ecx,30*65536+100 ;[координата по оси y]*65536 + [размер по оси y]
mov edx,0xb3AABBCC ; color of work area RRGGBB,8->color gl
mov edi,hed
int 0x40 ;нарисовать окно приложения
mov eax,12 ;Функция 12 - начать/закончить перерисовку окна.
mov ebx,2 ;Подфункция 2 - закончить перерисовку окна.
int 0x40
ret
hed db 'Hello World',0 ;заголовок приложения
align 16
rb 0x100 ; резерв памяти для стека.
i_end: