DAK. Pascal (Delphi) => Fasm

High-level languages programming questions
  • Вот dll
    mspdb50.7z (71.35 KiB)
    Downloaded 385 times
  • Та блин... :-) ну шо за фигня?! добавил 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
    Для продолжения нажмите любую клавишу . . .
  • Ну так оно у тебя же скомпилировалось. Test.kex появился? Запускается?
  • 0CodErr wrote:Ну так оно у тебя же скомпилировалось. Test.kex появился? Запускается?
    В общето, - ДА! Извиняюсь! Не обратил внимание, появился, запускается! Завтра это всё рассмотрю более внимательно!
    0CodErr, спасибо за внимание ! :-)
  • Меня просто сбили с толку две строки:
    test.obj : warning LNK4033: converting object format from OMF to COFF
    LINK : warning LNK4041: no edit options specified

    подумал что ошибку выдало, сразу не вник в подробности!
  • ALEXS1983 wrote:Image
    Судя по скриншоту, это Windows XP. Странно. Программа должна в ней работать. Вообще, это не моя программа, у нее есть свой сайт.

    Выложил очередной концепт в своей теме. По моим оценкам, на доработку нужно всего 1-2 рабочих дня (10-16 часов), но у меня их пока нет. К тому же, работающий экспорт в MENUETxx не решит проблему полноценной разработки на Delphi: нужно еще System дорабатывать, чтобы был менеджер кучи и исключения... Всем пофиг.
  • Извиняюсь, что в этой теме.
    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 байт, и запускаться он не хочет.
  • Обязательно ли было выравнивать .text?
    Компилятор обычно выравнивает адреса функций и метки циклов. Так что смысл есть. Хотя не знаю, насколько это актуально для LD. Он должен брать выравнивание из атрибутов секций.
  • Может автор этой темы не видел, вот, кстати, Menuet Pascal Compiler viewtopic.php?f=45&t=112 Здесь архив viewtopic.php?f=45&t=112&start=15#p18910
  • 0CodErr wrote:Может автор этой темы не видел, вот, кстати, Menuet Pascal Compiler viewtopic.php?f=45&t=112 Здесь архив viewtopic.php?f=45&t=112&start=15#p18910
    Попробую еще этим позабавлятся....
    но думаю, что очередная фигня какая-то
    mike.dld wrote:Типизация пока что отсутствует, операции над строками не поддерживаются, можно использовать только непосредственные операнды. Жаль, что в который раз приходится об этом говорить, но вот так оно пока и есть...
  • 0CodErr wrote:Может автор этой темы не видел, вот, кстати, Menuet Pascal Compiler viewtopic.php?f=45&t=112 Здесь архив viewtopic.php?f=45&t=112&start=15#p18910
    А с массивами что?! или нафиг они нужны, да ?! НЕ ПОНИМАЕТ МАССИВЫ ТО, НЕ ПОНИМАЕТ!
    0CodErr, а вот нафиг ты у меня в теме и мне пишешь и предлагаешь одно хуже другого ?!
    Я уже писал:
    ВСЁ! С МЕНЯ ХВАТИТ! 150 или 1500 раз одно и тоже самое!
    Фактически работающее тут только Фасм! И возможно будет ДАК! :-)
    Всё остальное на форуме можно выкинуть на мусорку!
  • Почему не FreePascal, кстати?
  • Да уж, пропиетарный компилятор тут незачем.
  • XVilka wrote:Почему не FreePascal, кстати?
    Еще шото не рабочее или не полностью рабочее, да ? полуфабрикат который нельзя использовать ? Ну давай ссылку где это, пока в соответствующем настроении ?
  • Who is online

    Users browsing this forum: No registered users and 1 guest