life2

Entertainment for 5 minutes, hours, days
  • Code: Select all

    flat assembler  version 1.71.57  (16384 kilobytes memory)
    include\kos_func.inc [79]:
    proc @Kolibri@Main$qv
    processed: proc @Kolibri@Main$qv
    error: illegal instruction.
    Собираю helloeorld

    Пока создам папку и закину туда diamond'овские menuet обертки.
    Даже menuet не собиарет:

    Code: Select all

    flat assembler  version 1.71.57  (16384 kilobytes memory)
    include\me_func.inc [80]:
    nextdef MenuetEntryPoint
    include\me_start.inc [85] nextdef [3]:
        end if
    processed: end if
    error: unexpected instruction.
    
  • Вот все файлы для helloword, кроме компилятора.
    В файле me_make.inc нужно путь поправить я пока вписал свой путь D:\Kolibri\svn\programs\proc32.inc .
    Hello_all.7Z (19.48 KiB)
    Downloaded 177 times
  • У меня ошибка повторилась

    Code: Select all

    flat assembler  version 1.71.57  (16384 kilobytes memory)
    include\kos_func.inc [79]:
    proc @Kolibri@Main$qv
    processed: proc @Kolibri@Main$qv
    error: illegal instruction.
    Путь к proc32.inc подставил
  • Не могу понять в чем причина, вроде как не нравится ему функция @Kolibri@Main$qv в файле kos_func.inc
    У меня flat assembler version 1.73, у тебя версия 1.71.57 но я не думаю что в этом может быть причина.
    Вот для примера мои hello.asm файлы, сравни их со своими, есть ли в них отличия, может компилируется что-то не так?
    hello_asm.7Z (21.48 KiB)
    Downloaded 173 times
  • Вроде такой же
    Твой тоже не компилится.
    Дело в инклудах
    Наеврно не те у меня
  • Просто даже интересно, как life2 собирается
  • rev 8140
    Немного обновил helloworld, закинул на svn в отдельной папке от life2.
    Попробуй компилируется ли оно?
  • Спасибо, заработало.
    http://websvn.kolibrios.org/listing.php ... 89d0f48797
    Добавил makefile для linux, переместил в папку window. Наклепаю еще примерчиков

    Возможно когда я перемещал, bat'ник перестал работать, может и нет. Так что попробуй еще раз собрать
  • Придумал как убрать kos_make.inc
    rev 8145
    Еще бы вынести всю часть мейкфайла в отдельный, как в menuetlibc
    А в основном просто пути задавать, и имя файла
    rev 8146
    Сделал
    Last edited by maxcodehack on Fri Nov 06, 2020 6:22 pm, edited 1 time in total.
  • maxcodehack wrote:Возможно когда я перемещал, bat'ник перестал работать, может и нет. Так что попробуй еще раз собрать
    Пока что не работает, похоже что-то с путями к файлам случилось.
    Не подключаются файлы, особенно те которые в угловых скобках < >
  • А сейчас?
  • Хм, что то я не нашел как кнопку создать
    В life2 видимо как то заковыристо создается
  • maxcodehack wrote:А сейчас?
    сейчас уже лучше, на уровне cpp компиляция проходит, а вот на уровне asm ругается на segment, что означает что не подключился файл kos_start.inc
    Spoiler:
    error_hello.png
    error_hello.png (41.17 KiB)
    Viewed 4124 times
    maxcodehack wrote:Хм, что то я не нашел как кнопку создать
    В life2 видимо как то заковыристо создается
    Значит нужно свою функцию создавать, что-то наподобие этого:
    Spoiler:в файл cpp:

    Code: Select all

    void DrawButton(long id, const char* string, long x, long y, long c_x, long c_y);
    
    void KolibriOnPaint(void)
    {
    	DrawButton(2,"Button 1", 30,10,50,20);
    }
    в kos_func.inc:

    Code: Select all

    ;long id, const char* str, long x, long y, long c_x, long c_y
    proc @Kolibri@DrawButton$qlpxcllll uses ebx esi
      mov  eax,8
      mov  ebx,[esp+12+8]
      shl  ebx,16
      mov  bx,[esp+20+8]
      mov  ecx,[esp+16+8]
      shl  ecx,16
      mov  cx,[esp+24+8]
      mov  edx,[esp+4+8]
      mov  esi,0xffffff
      int  0x40
      ret 
    endp
  • Лучше конечно не самому писать, а добавить в официальные обертки.
    Значит пути плоховато инклудят kos_start.inc
    Честно, не знаю. Вроде у меня работает. Возможно путь не совсем правильный

    Code: Select all

    qlpxcllll
    А что вот это значит?
  • Who is online

    Users browsing this forum: No registered users and 4 guests