|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Май 18, 2003 13:10:47 Линковка COFF OBJ файла для PMODE с помощью wlink от WATCOM Не получается верно слинковать COFF OBJ файл. вот простейший пример: ;=================================================== format COFF ;---секция кода---------------------------------------- section '.code' code public _start _start: jmp _main db 'WATCOM' _main: mov eax, testik mov ax, 4c00h int 21h ;-----секция данных----------------------------------------- section '.data' data testik db 'ok',0 ;===================================================================== выполняю fasm testik.asm testik.obj после wlink testik.lnk в файле testik.lnk прописано: op st=8192 form os2 le file fastc2.obj name fastc2.exe op stub=wdosxle.exe в итоге wlink ругается: WATCOM Linker Version 11.0c Copyright by Sybase, Inc., and its subsidiaries, 1985, 2000. All rights reserved. Watcom is a trademark of Sybase, Inc. loading object files Warning! W1014: stack segment not found Warning! W1023: no starting address found, using 0001:00000000 creating an OS/2 linear executable Вопрос: -как определить сегмент стека? -как определить стартовый адрес? |
|
|
Дата: Май 18, 2003 13:49:51 wlink /? ... | "STack"=n | "START="symbol_name ... Оно? |
|
|
Дата: Май 18, 2003 14:11:26 Проверил. Fasm'a у меня нету (вернее, я с ним не особо знаком) Есть Nasm. Чтобы определить стек для OS/2 LE нужна такая секция: test.asm: [bits 32] [section .code class=code] ; global start start: xor eax, eax ret [section .stack class=stack] ; имя секции может быть другим test.lnk: op st=8192 form os2 le file test.obj name test.exe op start=start nasm -f obj test.asm wlink @test.lnk Open Watcom Linker Version 1.0 ... loading object files creating an OS/2 linear executable все. |
|
|
Дата: Май 18, 2003 14:14:45 Думаю, что у fasm'a есть аналогичные опции для секций. |
|
|
Дата: Май 18, 2003 14:18:41 Да, еще одно. AFAIK в COFF нельзя задать стековую секцию. (Поправьте, если это не так) Так что использовать следует OMF. |
|
|
Дата: Май 18, 2003 17:15:30 wlink стартовый адрес нормально скушал :) А вот выходной формат OMF, FASM v1.45 не поддерживает, и действительно секция stack для него не знакома. Выход не как нормально собрать файл при помощи FASM не получится? Расширителю доса WDOSX можно скормить конечно .exe(PE) файл и получить то что нужно. Но хотелось бы собрать способом который описан выше. Может у кого нить есть соображение по поводу FASM'а? COFF'формата? Есть такая утилита 'coff2omf.exe' и действительно с помощью ее можно получить omf. Но не чего на предмет сегмента стека не обнаружено. По прежнему wlink ругается: Warning! W1014: stack segment not found |
|
|
Дата: Июн 26, 2003 20:02:16 Кто занимается NASM дайте ХЕЛП пожалуйста! Как объявляются процедуры и с какими параметрами?? А также как связываетс я с кодом из C++!!! А если есть дока по этому то вообще благодарен буду!! |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.085 |