Page 2 of 5

Re: life2

Posted: Fri Nov 06, 2020 10:09 am
by maxcodehack
Но теперь вроде все заменено.
Может залить?
__________
Я тогда создам папку для borland, и там будет helloworld
А life2 пока не будет.

Re: life2

Posted: Fri Nov 06, 2020 10:28 am
by maxcodehack

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.

Re: life2

Posted: Fri Nov 06, 2020 11:28 am
by IgorA
Вот все файлы для helloword, кроме компилятора.
В файле me_make.inc нужно путь поправить я пока вписал свой путь D:\Kolibri\svn\programs\proc32.inc .
Hello_all.7Z (19.48 KiB)
Downloaded 177 times

Re: life2

Posted: Fri Nov 06, 2020 11:47 am
by maxcodehack
У меня ошибка повторилась

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 подставил

Re: life2

Posted: Fri Nov 06, 2020 12:32 pm
by IgorA
Не могу понять в чем причина, вроде как не нравится ему функция @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

Re: life2

Posted: Fri Nov 06, 2020 12:59 pm
by maxcodehack
Вроде такой же
Твой тоже не компилится.
Дело в инклудах
Наеврно не те у меня

Re: life2

Posted: Fri Nov 06, 2020 2:55 pm
by maxcodehack
Просто даже интересно, как life2 собирается

Re: life2

Posted: Fri Nov 06, 2020 3:07 pm
by IgorA
rev 8140
Немного обновил helloworld, закинул на svn в отдельной папке от life2.
Попробуй компилируется ли оно?

Re: life2

Posted: Fri Nov 06, 2020 4:42 pm
by maxcodehack
Спасибо, заработало.
http://websvn.kolibrios.org/listing.php ... 89d0f48797
Добавил makefile для linux, переместил в папку window. Наклепаю еще примерчиков

Возможно когда я перемещал, bat'ник перестал работать, может и нет. Так что попробуй еще раз собрать

Re: life2

Posted: Fri Nov 06, 2020 5:56 pm
by maxcodehack
Придумал как убрать kos_make.inc
rev 8145
Еще бы вынести всю часть мейкфайла в отдельный, как в menuetlibc
А в основном просто пути задавать, и имя файла
rev 8146
Сделал

Re: life2

Posted: Fri Nov 06, 2020 6:20 pm
by IgorA
maxcodehack wrote:Возможно когда я перемещал, bat'ник перестал работать, может и нет. Так что попробуй еще раз собрать
Пока что не работает, похоже что-то с путями к файлам случилось.
Не подключаются файлы, особенно те которые в угловых скобках < >

Re: life2

Posted: Fri Nov 06, 2020 6:46 pm
by maxcodehack
А сейчас?

Re: life2

Posted: Fri Nov 06, 2020 7:09 pm
by maxcodehack
Хм, что то я не нашел как кнопку создать
В life2 видимо как то заковыристо создается

Re: life2

Posted: Fri Nov 06, 2020 9:24 pm
by IgorA
maxcodehack wrote:А сейчас?
сейчас уже лучше, на уровне cpp компиляция проходит, а вот на уровне asm ругается на segment, что означает что не подключился файл kos_start.inc
Spoiler:
error_hello.png
error_hello.png (41.17 KiB)
Viewed 4194 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

Re: life2

Posted: Fri Nov 06, 2020 9:49 pm
by maxcodehack
Лучше конечно не самому писать, а добавить в официальные обертки.
Значит пути плоховато инклудят kos_start.inc
Честно, не знаю. Вроде у меня работает. Возможно путь не совсем правильный

Code: Select all

qlpxcllll
А что вот это значит?