Board.KolibriOS.org

Official KolibriOS board
It is currently Sat Jan 18, 2020 1:49 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 13 posts ] 
Author Message
 Post subject: Hello, World!
PostPosted: Mon Jun 07, 2010 11:33 pm 
Offline

Joined: Mon Jun 07, 2010 11:04 pm
Posts: 4
Здравствуйте!
Сразу оговорюсь что искал подобные темы, но не нашел и поэтом решил создать эту. Если есть подобные(я в этом уверен на 99%) прошу ткунть носом =)
Вообщем то хотелось бы начать писать программы под это замечательную ось(just for fun, ессно), но как бы не хватает вводного тутора. Есть опыт программинга под маздай (делфи/с++/флеши, пхп-шки и т.д) и под линух (с++) ну и под мк AVR ( в основном Си и немного асма) так что думаю я быстро освоюсь =)

Кстати, просмотрел листинги ядра и разочаровался- маловато комментов, нет я понимаю не на каждую же строку лепить, но все же это асм и тут нужно расжевывать =)

Кстати, я совместно с командой программистов с форума http://programmersforum.ru/ выпускаю журнал, вот сайт http://procoder.info/

С уважением, Алексей.

UPD:
Hi, my name is Alex.
I'm programmer. for Windows(delphi/cpp), for linux (c++) and for AVR microcontrollers.
Quote:
Are you planning to code in FASM, or some other assembler/compiler ?

only for AVR microcontrollers

oh sh*t, my english is very bad ><

_________________
Погрузился в теорию операционных систем, пока изучаю MINIX.


Last edited by Levsha128 on Tue Jun 08, 2010 12:11 am, edited 3 times in total.

Top
   
 Post subject: Re: Hello, World!
PostPosted: Mon Jun 07, 2010 11:53 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Fri Jun 30, 2006 9:01 am
Posts: 1248
Are you planning to code in FASM, or some other assembler/compiler ?

http://wiki.kolibrios.org/wiki/Writing_ ... _KolibriOS
http://diamond.kolibrios.org/hll/hll.htm

Welcome btw ;)

_________________
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein


Top
   
 Post subject: Re: Hello, World!
PostPosted: Tue Jun 08, 2010 12:33 am 
Offline
User avatar

Joined: Mon Oct 27, 2008 10:10 pm
Posts: 813
Code:
use32
  org 0x0
  db 'MENUET01' ;идентиф. исполняемого файла всегда 8 байт
  dd 0x1
  dd start
  dd i_end ; размер приложения
  dd mem
  dd stacktop
  dd 0x0
  dd cur_path

include 'macros.inc' ;подключаем необходимые макросы

align 4
start: ;начало программы
  mcall 48,3,sc,sizeof.system_colors ;получить системные цвета
  mcall 40,0x25 ;маска ожидаемых событий

red_win:
  mcall 12,1 ;начало прорисовки окна

  xor eax,eax
  mov ebx,50*65536+250
  mov ecx,30*65536+150
  mov edx,[sc.work]
  or  edx,0x33000000
  mov edi,hed
  mcall ;вывод окна на экран, при повторном вызове игнорируется

  mcall 12,2 ;конец прорисовки окна

still: ;главный цикл
  mcall 10

  cmp al,0x1 ;изменилось положение окна ?
  jz red_win
  cmp al,0x3 ;нажали кнопку ?
  jz button
  jmp still

button:
;  mcall 17 ;получить код нажатой кнопки
;  cmp ah,1
;  jne still
.exit:
  mcall -1 ;выход из программы

hed db 'Минимальная программа',0
sc system_colors  ;структура с системными цветами
i_end: ;конец кода
  rb 1024
stacktop:
  cur_path:
    rb 4096
mem:

примерно так выглядит минимальная программа, но размер программы может быть еще меньше, если убрать структуру sc system_colors


Top
   
 Post subject: Re: Hello, World!
PostPosted: Tue Jun 08, 2010 6:28 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Примеры программирования есть в SDK, который можно скачать с главной страницы http://kolibrios.org. В SDK же есть и выпуски электронного журнала KolibriOS, в первом выпуске которого есть пример HelloWorld'а с обильными комментариями того, что происходит. (Кроме того, есть онлайн-версия в составе DocPack'а Nasarus'а - http://kolibrios-planet.ru.orange.intob ... ocPack.htm.)


Top
   
 Post subject: Re: Hello, World!
PostPosted: Tue Jun 08, 2010 7:17 pm 
Offline

Joined: Mon Jun 07, 2010 11:04 pm
Posts: 4
Ссылки на журналы не работают
http://kolibrios.org/files/e-zine/000/0 ... -16_win.7z
http://kolibrios.org/files/e-zine/000/0 ... -16_win.7z
http://kolibrios.org/files/e-zine/000/0 ... -29_win.7z
Quote:
Поэтому я и написал, где журнал можно найти.

Ну,дык, я написал что бы сообщить сообществу, которое может потом подправит =)

P.S. Хелло ворлд как бы освоил потихоньку, хотя пришлось покапашиться в мануалах по флату =)

_________________
Погрузился в теорию операционных систем, пока изучаю MINIX.


Last edited by Levsha128 on Tue Jun 08, 2010 7:28 pm, edited 2 times in total.

Top
   
 Post subject: Re: Hello, World!
PostPosted: Tue Jun 08, 2010 7:18 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Поэтому я и написал, где журнал можно найти.


Top
   
 Post subject: Re: Hello, World!
PostPosted: Tue Jun 08, 2010 9:37 pm 
Offline
User avatar

Joined: Wed Jan 27, 2010 10:59 am
Posts: 269
>Кроме того, есть онлайн-версия в составе...
Предупреждаю: эта ссылка временная и скоро может накрыться :D

_________________
ушёл...


Top
   
 Post subject: Re: Hello, World!
PostPosted: Wed Jun 09, 2010 6:04 pm 
Offline

Joined: Mon Jun 07, 2010 11:04 pm
Posts: 4
Нубский вопрос: что это за команда mcall ? Просто call- это понятно, а вот mcall...
Quote:
mcall это макрос

Блин, во я идиот =) Слона та и не заметил)))
Спасибо)

_________________
Погрузился в теорию операционных систем, пока изучаю MINIX.


Last edited by Levsha128 on Wed Jun 09, 2010 7:03 pm, edited 2 times in total.

Top
   
 Post subject: Re: Hello, World!
PostPosted: Wed Jun 09, 2010 6:14 pm 
mcall это макрос - позволяет более удобней пользоваться функциями ядра, улучшает читабельность кода. Его структуру можно посмотреть а macros.inc


Top
   
 Post subject: Re: Hello, World!
PostPosted: Thu Jun 10, 2010 1:48 pm 
Offline

Joined: Mon Jun 07, 2010 11:04 pm
Posts: 4
Еще один очень нубский вопрос: как правильно копировать файлы на виртуальную машину?
Машина- VirtualBox, ось- Ubuntu 10.04

_________________
Погрузился в теорию операционных систем, пока изучаю MINIX.


Top
   
 Post subject: Re: Hello, World!
PostPosted: Thu Jun 10, 2010 1:53 pm 
Offline
User avatar

Joined: Wed Jan 27, 2010 10:59 am
Posts: 269
>Еще один очень нубский вопрос: как правильно копировать файлы на виртуальную машину?
В случае с Колибри - только с помощью образов дисков. Используй утилиты наподобие WinImage, PowerISO, MagicISO и т.д., а потом подключай их к вирт. машине.

_________________
ушёл...


Top
   
 Post subject: Re: Hello, World!
PostPosted: Thu Jun 10, 2010 2:10 pm 
Levsha128 wrote:
Еще один очень нубский вопрос: как правильно копировать файлы на виртуальную машину?
Машина- VirtualBox, ось- Ubuntu 10.04

Я пользуюсь Qemu, образы использую IMG, а все операции из хостовой ОС через mount


Top
   
 Post subject: Re: Hello, World!
PostPosted: Sat Mar 23, 2013 11:31 am 
Offline

Joined: Mon Mar 27, 2006 6:33 am
Posts: 675
Есть такой wiki ресурс реализации примеров разных алгоритмов на разных языках, в том числе и асмах
Rosetta_Code
Но как ни странно, примеров на Fasm там нет.
Поэтому, для популяризации Колибри и программирования на Fasm можно привести, кто сможет, решения из списка задач ресурса на Fasm (for Kolibri).


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 13 posts ] 

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited