RadASM и TLINK.EXE --> командная строка и кавычки.. Как пофиксить?

Тема в разделе "WASM.BEGINNERS", создана пользователем Elusory Jo, 3 апр 2006.

  1. Elusory Jo

    Elusory Jo New Member

    Публикаций:
    0
    Регистрация:
    26 янв 2006
    Сообщения:
    30
    Адрес:
    Moscow
    Переделывал tasm.ini RadASM'овский для DOS... Заменить там всего-то надо вместо "TLINK32.EXE" на "TLINK.EXE", да убрать пару лишних ключиков...



    НО!



    При нажатии кнопочки "LINK" автоматически запускается TLINK.EXE с параметром "source.obj". Но если TLINK32.EXE понимает source.obj, обрамленное в кавычки, то DOSовский TLINK.EXE ругается на неправильный символ (кавычку то бишь) в командной строке и естесственно ничего не линкует.. Как я ни пытался заставить RadASM запускать


    Код (Text):
    1. <span style="background-color: white]TLINK.EXE source.obj</span><!--back-->
    , он все равно запускает как


    Код (Text):
    1. <span style="background-color: white]TLINK.EXE "source.obj"</span><!--back-->


    :-(



    Как это можно обойти? Я пока только придумал вариант с BAT-файлом, но это же изврат.. Надо чтобы бсе по-белому было..



    Кто разбирается в RadASM'e, поможите плиз!
     
  2. Vasil

    Vasil Василь

    Публикаций:
    0
    Регистрация:
    7 янв 2006
    Сообщения:
    228
    Адрес:
    Ижевск
    Поройся в Project Options. Там вместо "$3" надо ставить 3.



    PS: Сам не проверял, так что если не правильно извиняйте...
     
  3. aravar

    aravar New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2004
    Сообщения:
    35
    У меня была таже проблемма и ничего более простого чем написание батника я тоже не смог придумать. В справке к Радасму ничего такого не описано и более того в последней версии есть пример для секции DOS в проекте Тасма единственое замечание надо использовать вывод на консоль а не в окно Радасма иначе линкер будет оставлять в памяти каждый раз по одному неубитому процессу за линковку. По всей видимости надо писать заглушку которая будет преобразовывать из строки в кавычках в формат 8.1 ведь если в пути файла будет пробел то линкер почитает это концом строки. Поискав по инету я встречал предложения использовать батник с выражением %~s1 и передавать строку далее но чтото для 98 виндоса это не работает. Вот пример секции доса для тасма взятый из хелпа

    [Dos App]

    Files=1,1,0,0,0

    Folders=1,0,0

    MenuMake=0,1,1,1,1,1,0,0

    ;x=FileToDelete/CheckExistsOnExit,

    ;(O)utput/(C)onsole/0,Command,

    ;MakeFile1[,MakeFile2[,MakeFile3...]]

    1=4,O,$B.exe -r -i"$I" -v,1

    2=3,O,$B.EXE /I"$I",2

    3=5,C,$B.EXE /L"$L",3 <<---notice "C", this means console output. Very important!

    4=0,0,,5

    5=

    6=*.obj,O,$B.EXE /I"$I",*.asm

    11=4,OT,$B.exe -r -i"$I" -v,1

    12=3,OT,$B.EXE /I"$I",2

    13=5,C,$B.EXE /L"$L",3 <<---- Also here "C". Else RadAsm crashes.

    14=0,0,,5

    15=

    16=*.obj,O,$B.EXE /I"$I",*.asm



    никаких поминаний про кавычки может есть у кого переделанный линкер? На сайте FreeDos я нашел отладчик Insight вместе с исходниками и в течении 5 минут исправил процедуру обработки командной строки но до ковыряния линкера руки не дошли...
     
  4. Elusory Jo

    Elusory Jo New Member

    Публикаций:
    0
    Регистрация:
    26 янв 2006
    Сообщения:
    30
    Адрес:
    Moscow
    Ээээ... Иправил процедуру обработки командной строки в RadASM'e? И у тебя нормально линковка теперь работает? Или все-таки батником пользуешься?



    И, кстати, если батник, то его тоже в Console надо или его можно в Output?
     
  5. Elusory Jo

    Elusory Jo New Member

    Публикаций:
    0
    Регистрация:
    26 янв 2006
    Сообщения:
    30
    Адрес:
    Moscow
    Хмм.. Кстати об отладчиках.. Пока я для себя не нашел ничего лучше чем TD.EXE... Хотел посмотреть этот Insight, но то ли на FreeDos что-то с серваком, то ли фиг знает.. Можешь выложить его на webfile.ru?
     
  6. aravar

    aravar New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2004
    Сообщения:
    35
    я считаю что если твой батник что то желает вывести на вывод то можно и в окно радасма а если он ничего не выводит то можно и 0 - ноль прописать. Вызов батника устраняет проблемму с неубитым процессом ведь ты его зарываешь Ctrl+C закрывая консоль линкера. Вот ссылка на отладчик insight 1.10 _http://freedos.sourceforge.net/cgi-bin/freedos-lsm.cgi?q=d&a=devel она ведет _ftp://ftp.ibiblio.org/pub/micro/pc-stuff/freedos/files/ там в папке devel и лежит его последняя версия с сырцами
     
  7. aravar

    aravar New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2004
    Сообщения:
    35
    правил то я обработку командной строки в исходниках insight110 ибо он тоже не желал дружится с кавычками
     
  8. Elusory Jo

    Elusory Jo New Member

    Публикаций:
    0
    Регистрация:
    26 янв 2006
    Сообщения:
    30
    Адрес:
    Moscow
    Хмм.. Ну вобщем я так понял что кроме батничка других вариантов нет. Ну ладно.



    А по поводу Insight. Интересный, но TD ИМХО и функциональней и красивей..