0 / 0 / 0
Регистрация: 15.12.2010
Сообщений: 21
|
|
1 | |
Как создать корректную статическую (lib) библиотеку под MS-DOS (16 bit) из Windos (32-64 bit) или из MS-DOS?28.01.2013, 19:17. Просмотров 4600. Ответов 29
Метки нет Все метки)
(
Привет всем!
Кто подскажет, как корректно создавать статические библиотеки для 16-битного режима адресации процессора? Другими словами, как создать lib файл который можно потом подключить директивой includelib из основного файла (main.asm например) и на выходе получить исполняемый файл типа exe ? Я использую пакет masm версии 6.14.8444 (ml.exe) Версия библиотекаря (lib.exe) 5.12.8078 Версия компоновщика (link16.exe) 5.60.339 Dec 5 1994 Вообщем, пишу я исходник с именем mylib.asm Затем я его транслирую в mylib.obj Ну и делаю либу lib.exe mylib.obj на выходе получаю mylib.lib Но, при попытке скомпоновать линкером link16.exe получаю сообщение, что моя библиотека не корректная. invalid library Что делать, куда рыть? Если кто знает напишите пожалуйста на примере: два исходника: main.asm и mylib.asm main.asm главная программа которая при компиляции подключает директивой includelib mylib.lib в котором скажем простенькая процедурка выводящая на экран строку hello, world Интересует именно подробный пример: чем компилировать (версии), ключи командной строки, директивы в исходниках. Заранее спасибо всем!
0
|
|
28.01.2013, 19:17 | |
Как установить qbasic под windos 7 64-bit 16 bit MS-DOS Subsystem 16 bit MS-DOS Subsystem
|
|
64 / 64 / 0
Регистрация: 06.10.2011
Сообщений: 300
|
|
28.01.2013, 19:32 | 2 |
в досе не было библиотек, были прервания и драйевра. соммандком несколько сотен кбайт весит. создай резидента или сам обратись к файлу нужному.
или прерывание свое сделай, или сам выдели блок памяти. загрузи туда нужныую часть из другого файла, сам талицу импортапридумай как тебе удобнее. да и все. только так не делают
0
|
0 / 0 / 0
Регистрация: 15.12.2010
Сообщений: 21
|
|
28.01.2013, 19:41 [ТС] | 3 |
Хм, как же тогда Кип Ирвин в своём учебнике подключает irvine16.lib в которой нужный функционал?
Он же как то и чем то эту либу собрал???
0
|
64 / 64 / 0
Регистрация: 06.10.2011
Сообщений: 300
|
|
28.01.2013, 21:40 | 4 |
да я попутал либу и дллку. специально вытащил масм6.15 там и либы и инклуды уже есть. только не такие как в винде само собой.
0
|
0 / 0 / 0
Регистрация: 15.12.2010
Сообщений: 21
|
|
28.01.2013, 21:51 [ТС] | 5 |
Да lib другие, но как их получить самому, вот в чём вопрос.
Точнее, lib я вроде как получаю из obj но потом эта либа не клеится к main.obj (((( Пишет No Valid Library Добавлено через 1 минуту Я уже разные версии masm пробовал и ключи разные, но что то не то всё. Должен быть способ конкретно получить 16 разрядную lib у
0
|
64 / 64 / 0
Регистрация: 06.10.2011
Сообщений: 300
|
|
28.01.2013, 21:54 | 6 |
вот тебе даже оригинальный масм6.15, либ.екзе возьми от него для 16 битного кода. параметры командной строки lib.exe /?. разберешься тут напиши пригодится. гугл тебе в помощь.
![]() Microsoft Macro Assembler v6.15.iso
1
|
0 / 0 / 0
Регистрация: 15.12.2010
Сообщений: 21
|
|
28.01.2013, 21:56 [ТС] | 7 |
Я пороюсь и если, что накопаю выложу решение конечно же тут. Но пока что успехов нет, сплошные ошибки. )
0
|
64 / 64 / 0
Регистрация: 06.10.2011
Сообщений: 300
|
|
28.01.2013, 22:02 | 8 |
то что в масме лежит LIB.EXE это для винды This program cannot be run in DOS mode.
сразу поймешь разницу Код
ECHO OFF COLOR 9F CLS REM C:\MASM611\BIN\ML.EXE NONAME.asm /link C:\MASM611\LIB\MYLIB.LIB C:\MASM611\BIN\ML.EXE NONAME.asm /AT pause C:\MASM611\BINR\LINK.EXE NONAME.obj /t pause
0
|
0 / 0 / 0
Регистрация: 15.12.2010
Сообщений: 21
|
|
28.01.2013, 22:04 [ТС] | 9 |
Получается нужно делать lib из под windows? А линковать из под DOS ?))
0
|
Клюг
7666 / 3181 / 382
Регистрация: 03.05.2011
Сообщений: 8,381
|
|
28.01.2013, 22:20 | 10 |
Вообще-то есть исходники ф-ций сюшного рантайма (clib) и msvcrt.dll на асме, но их надо допиливать и проверять, а мне лень.
0
|
0 / 0 / 0
Регистрация: 15.12.2010
Сообщений: 21
|
|
28.01.2013, 22:25 [ТС] | 11 |
Эм, а немножко подробнее, пожалуйста, можно? А то я малёк Нуб в этом. ))) Что имеется ввиду, что можно под себя софт создать?
0
|
Клюг
7666 / 3181 / 382
Регистрация: 03.05.2011
Сообщений: 8,381
|
|
28.01.2013, 22:46 | 12 |
Можно будет создать стат. биб-ку под досю, по функционалу не уступающую msvcrt.dll и писать под дос с гораздо большим комфортом.
0
|
0 / 0 / 0
Регистрация: 15.12.2010
Сообщений: 21
|
|
28.01.2013, 22:52 [ТС] | 13 |
Нужно будет попробовать. А использовать её нужно в win32-64 или из под dos ?
0
|
Клюг
7666 / 3181 / 382
Регистрация: 03.05.2011
Сообщений: 8,381
|
|
28.01.2013, 23:00 | 14 |
Под дос и дос/32(DPMI), но к этому надобно приложить руки и голову.
0
|
0 / 0 / 0
Регистрация: 15.12.2010
Сообщений: 21
|
|
28.01.2013, 23:02 [ТС] | 15 |
Сначала выучить ассемблер и Си, а потом переписать утилиту ))))
Ы
0
|
64 / 64 / 0
Регистрация: 06.10.2011
Сообщений: 300
|
|
28.01.2013, 23:09 | 16 |
ты можешь все сделать под виндой, но link и lib надо брать 16 битные, а мл.екзе универсальный
0
|
Клюг
7666 / 3181 / 382
Регистрация: 03.05.2011
Сообщений: 8,381
|
|
28.01.2013, 23:10 | 17 |
DPerl, утилита-библиотекарь для доса в аттаче.
0
|
0 / 0 / 0
Регистрация: 15.12.2010
Сообщений: 21
|
|
28.01.2013, 23:16 [ТС] | 18 |
Под виндой то могу, но хочется под дос примеры порешать, чтобы лучше понять архитектуру IA
Добавлено через 35 секунд Сейчас буду пробовать.. Добавлено через 3 минуты теперь dos4gw.exe просит )))))))) Елки, пока эту 16 битную либу получишь можно гуру командной строки стать) ггг
0
|
Клюг
7666 / 3181 / 382
Регистрация: 03.05.2011
Сообщений: 8,381
|
|
28.01.2013, 23:20 | 19 |
1
|
0 / 0 / 0
Регистрация: 15.12.2010
Сообщений: 21
|
|
28.01.2013, 23:23 [ТС] | 20 |
wlib.exe терь запустился, сяп)
Сейчас буду пробовать либу делать. *скрестил пальцы на удачу* =)
0
|
28.01.2013, 23:23 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь. 16 bit MS-Dos subsystem Ошибка 16 bit MS-DOS Subsystem Eclipse C++ toolchain for 16-bit DOS 16 bit ms-dos subsystem QTWWFV Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |