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 .
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 файлы, сравни их со своими, есть ли в них отличия, может компилируется что-то не так?
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 (41.17 KiB)
Viewed 4263 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
Честно, не знаю. Вроде у меня работает. Возможно путь не совсем правильный
А что вот это значит?