Page 2 of 4

Re: DAK. Pascal (Delphi) => Fasm

Posted: Tue Sep 20, 2016 8:59 pm
by ALEXS1983
Спасибо конечно за беспокойство, но....
Image
ВСЁ! С МЕНЯ ХВАТИТ! 150 или 1500 раз одно и тоже самое!
Фактически работающее тут только Фасм! И возможно будет ДАК! :-)
Всё остальное на форуме можно выкинуть на мусорку!

Re: DAK. Pascal (Delphi) => Fasm

Posted: Tue Sep 20, 2016 9:03 pm
by 0CodErr
Вот dll
mspdb50.7z (71.35 KiB)
Downloaded 388 times

Re: DAK. Pascal (Delphi) => Fasm

Posted: Tue Sep 20, 2016 9:13 pm
by ALEXS1983
Та блин... :-) ну шо за фигня?! добавил DCC32.CFG и
DCC32.EXE потребовало еще SYSTEM.DCU - ну нашёл во 2-м дельфи, а далее вот такое:

D:\Test>Set Name=test

D:\Test>dcc32 -J test.pas
Delphi for Win32 Version 9.0 Copyright (c) 1983,96 Borland International

test.pas(1)
test.pas(167)
168 lines, 0.09 seconds, 339 bytes code, 20 bytes data.

D:\Test>link -edit test.obj
Microsoft (R) COFF Binary File Editor Version 5.12.8078
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

test.obj : warning LNK4033: converting object format from OMF to COFF

LINK : warning LNK4041: no edit options specified

D:\Test>ld -T LScript.x test.obj -o test.kex

D:\Test>objcopy -O binary -j .text -j .data -j .bss test.kex

D:\Test>pause
Для продолжения нажмите любую клавишу . . .

Re: DAK. Pascal (Delphi) => Fasm

Posted: Tue Sep 20, 2016 9:16 pm
by 0CodErr
Ну так оно у тебя же скомпилировалось. Test.kex появился? Запускается?

Re: DAK. Pascal (Delphi) => Fasm

Posted: Tue Sep 20, 2016 9:25 pm
by ALEXS1983
0CodErr wrote:Ну так оно у тебя же скомпилировалось. Test.kex появился? Запускается?
В общето, - ДА! Извиняюсь! Не обратил внимание, появился, запускается! Завтра это всё рассмотрю более внимательно!
0CodErr, спасибо за внимание ! :-)

Re: DAK. Pascal (Delphi) => Fasm

Posted: Tue Sep 20, 2016 9:32 pm
by ALEXS1983
Меня просто сбили с толку две строки:
test.obj : warning LNK4033: converting object format from OMF to COFF
LINK : warning LNK4041: no edit options specified

подумал что ошибку выдало, сразу не вник в подробности!

Re: DAK. Pascal (Delphi) => Fasm

Posted: Wed Sep 21, 2016 3:41 am
by Freeman
ALEXS1983 wrote:Image
Судя по скриншоту, это Windows XP. Странно. Программа должна в ней работать. Вообще, это не моя программа, у нее есть свой сайт.

Выложил очередной концепт в своей теме. По моим оценкам, на доработку нужно всего 1-2 рабочих дня (10-16 часов), но у меня их пока нет. К тому же, работающий экспорт в MENUETxx не решит проблему полноценной разработки на Delphi: нужно еще System дорабатывать, чтобы был менеджер кучи и исключения... Всем пофиг.

Re: DAK. Pascal (Delphi) => Fasm

Posted: Sat Oct 01, 2016 5:17 pm
by 0CodErr
Извиняюсь, что в этой теме.
Serge wrote:0CodErr
Стеки и секции .data и .bss лучше явно выравнивать. Желательно на 16 байт, стек минимум 4.
Serge, я вот так сейчас сделал
Spoiler:

Code: Select all

PATH_SIZE   = 1024;
PARAMS_SIZE =  256;
STACK_SIZE  =  256;

SECTIONS
{
  .all : {
    LONG(0x554e454D);
    LONG(0x31305445);
    LONG(1);
    LONG("@Main");
    LONG(END);
    LONG(END + PATH_SIZE + PARAMS_SIZE + STACK_SIZE);
    LONG(END + PATH_SIZE + PARAMS_SIZE + STACK_SIZE);
    LONG(END + PATH_SIZE);
    LONG(END);
    . = ALIGN(16);
    *(.text)
    . = ALIGN(16);
    *(.data)
    . = ALIGN(16);
    *(.bss)
    . = ALIGN(16);
    END = .;
  }
}
Обязательно ли было выравнивать .text?
Потом собираю так:

Code: Select all

dcc32 -J %Name%.pas
link -edit %Name%.obj
ld -T LScript.x %Name%.obj -o %Name%.kex
objcopy -O binary -j .all %Name%.kex
Получается файл размером 432 байта, запускается и работает.
Я делаю так

Code: Select all

objcopy -O binary -j .all %Name%.kex
а не так

Code: Select all

objcopy -O binary %Name%.kex
потому что иначе получается файл размером 4108 байт, и запускаться он не хочет.

Re: DAK. Pascal (Delphi) => Fasm

Posted: Sat Oct 01, 2016 6:20 pm
by Serge
Обязательно ли было выравнивать .text?
Компилятор обычно выравнивает адреса функций и метки циклов. Так что смысл есть. Хотя не знаю, насколько это актуально для LD. Он должен брать выравнивание из атрибутов секций.

Re: DAK. Pascal (Delphi) => Fasm

Posted: Sun Oct 02, 2016 11:56 am
by 0CodErr
Может автор этой темы не видел, вот, кстати, Menuet Pascal Compiler viewtopic.php?f=45&t=112 Здесь архив viewtopic.php?f=45&t=112&start=15#p18910

Re: DAK. Pascal (Delphi) => Fasm

Posted: Mon Oct 03, 2016 4:38 pm
by ALEXS1983
0CodErr wrote:Может автор этой темы не видел, вот, кстати, Menuet Pascal Compiler viewtopic.php?f=45&t=112 Здесь архив viewtopic.php?f=45&t=112&start=15#p18910
Попробую еще этим позабавлятся....
но думаю, что очередная фигня какая-то
mike.dld wrote:Типизация пока что отсутствует, операции над строками не поддерживаются, можно использовать только непосредственные операнды. Жаль, что в который раз приходится об этом говорить, но вот так оно пока и есть...

Re: DAK. Pascal (Delphi) => Fasm

Posted: Mon Oct 03, 2016 6:59 pm
by ALEXS1983
0CodErr wrote:Может автор этой темы не видел, вот, кстати, Menuet Pascal Compiler viewtopic.php?f=45&t=112 Здесь архив viewtopic.php?f=45&t=112&start=15#p18910
А с массивами что?! или нафиг они нужны, да ?! НЕ ПОНИМАЕТ МАССИВЫ ТО, НЕ ПОНИМАЕТ!
0CodErr, а вот нафиг ты у меня в теме и мне пишешь и предлагаешь одно хуже другого ?!
Я уже писал:
ВСЁ! С МЕНЯ ХВАТИТ! 150 или 1500 раз одно и тоже самое!
Фактически работающее тут только Фасм! И возможно будет ДАК! :-)
Всё остальное на форуме можно выкинуть на мусорку!

Re: DAK. Pascal (Delphi) => Fasm

Posted: Mon Oct 03, 2016 8:50 pm
by XVilka
Почему не FreePascal, кстати?

Re: DAK. Pascal (Delphi) => Fasm

Posted: Mon Oct 03, 2016 9:54 pm
by Siemargl
Да уж, пропиетарный компилятор тут незачем.

Re: DAK. Pascal (Delphi) => Fasm

Posted: Mon Oct 03, 2016 10:06 pm
by ALEXS1983
XVilka wrote:Почему не FreePascal, кстати?
Еще шото не рабочее или не полностью рабочее, да ? полуфабрикат который нельзя использовать ? Ну давай ссылку где это, пока в соответствующем настроении ?