Hello, World!

Assembler programming questions
  • 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
  • Code: Select all

    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
  • Примеры программирования есть в SDK, который можно скачать с главной страницы http://kolibrios.org. В SDK же есть и выпуски электронного журнала KolibriOS, в первом выпуске которого есть пример HelloWorld'а с обильными комментариями того, что происходит. (Кроме того, есть онлайн-версия в составе DocPack'а Nasarus'а - http://kolibrios-planet.ru.orange.intob ... ocPack.htm.)
  • Ссылки на журналы не работают
    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
    Поэтому я и написал, где журнал можно найти.
    Ну,дык, я написал что бы сообщить сообществу, которое может потом подправит =)

    P.S. Хелло ворлд как бы освоил потихоньку, хотя пришлось покапашиться в мануалах по флату =)
    Last edited by Levsha128 on Tue Jun 08, 2010 7:28 pm, edited 2 times in total.
    Погрузился в теорию операционных систем, пока изучаю MINIX.
  • Поэтому я и написал, где журнал можно найти.
  • >Кроме того, есть онлайн-версия в составе...
    Предупреждаю: эта ссылка временная и скоро может накрыться :D
    ушёл...
  • Нубский вопрос: что это за команда mcall ? Просто call- это понятно, а вот mcall...
    mcall это макрос
    Блин, во я идиот =) Слона та и не заметил)))
    Спасибо)
    Last edited by Levsha128 on Wed Jun 09, 2010 7:03 pm, edited 2 times in total.
    Погрузился в теорию операционных систем, пока изучаю MINIX.
  • mcall это макрос - позволяет более удобней пользоваться функциями ядра, улучшает читабельность кода. Его структуру можно посмотреть а macros.inc
  • Еще один очень нубский вопрос: как правильно копировать файлы на виртуальную машину?
    Машина- VirtualBox, ось- Ubuntu 10.04
    Погрузился в теорию операционных систем, пока изучаю MINIX.
  • >Еще один очень нубский вопрос: как правильно копировать файлы на виртуальную машину?
    В случае с Колибри - только с помощью образов дисков. Используй утилиты наподобие WinImage, PowerISO, MagicISO и т.д., а потом подключай их к вирт. машине.
    ушёл...
  • Levsha128 wrote:Еще один очень нубский вопрос: как правильно копировать файлы на виртуальную машину?
    Машина- VirtualBox, ось- Ubuntu 10.04
    Я пользуюсь Qemu, образы использую IMG, а все операции из хостовой ОС через mount
  • Есть такой wiki ресурс реализации примеров разных алгоритмов на разных языках, в том числе и асмах
    Rosetta_Code
    Но как ни странно, примеров на Fasm там нет.
    Поэтому, для популяризации Колибри и программирования на Fasm можно привести, кто сможет, решения из списка задач ресурса на Fasm (for Kolibri).
  • Who is online

    Users browsing this forum: No registered users and 6 guests