Вот хотелось бы создать небольшую статическую библиотеку на ASM и потом использовать ее в C++. Какой ассемблер лучше подходит для этого. Может где статейка есть.
такой вопросик можно ли испоьзовать в фасме либы от масма можно только если линковать отдельно а по дрогому можно как нить и ещё можно ли выдернуть код из либы
Прошу сильно не пинать, но чем библиотека на masm отличается от библиотеке написаной на чём нибудь другом. Это ведь вроде PE формат, который MS создал.
Почитав документацию по FASM и посмотрев примеры обнаружил, что там, на сколько я понял, можно создавать только DLL, что в моем случае не подходит
Возьми masm и не забивай себе голову поисками неизвестно чего. masm - стандарт де-факто, он позволяет сделать любую либу и любую dll.
Articgames Интересно как ты смотрел... вот пример, тут сразу тебе и .obj и .lib, оформить как bat файл поправить пути и запустить для компиляции Смотри также пример создания coff в fasm'е Код (Text): ;@echo off ;goto make ; ###################################################################### ### format MS COFF section '.text' code readable executable ; ###################################################################### ### public htodw as '_htodw@4' htodw: ; ----------------------------------- ; Convert hex string into dword value ; Return value in eax ; ----------------------------------- push ebx push esi push edi mov edi, [esp+4*4] mov esi, [esp+4*4] ALIGN 4 again: mov al,[edi] inc edi or al,al jnz again sub esi,edi xor ebx,ebx add edi,esi xor edx,edx not esi ;esi = lenth ; .while esi != 0 @@: test esi,esi jz @F mov al, [edi] cmp al,'A' jb figure sub al,'a'-10 adc dl,0 shl dl,5 ;if cf set we get it bl 20h else - 0 add al,dl jmp next figure: sub al,'0' next: lea ecx,[esi-1] and eax, 0Fh shl ecx,2 ;mul ecx by log 16(2) shl eax,cl ;eax * 2^ecx add ebx, eax inc edi dec esi ; .endw jmp @B @@: mov eax,ebx pop edi pop esi pop ebx retn 4 ;:make ;SET PROJECTNAME=test_obj_fasm ;if exist %PROJECTNAME%.obj del %PROJECTNAME%.obj ;C:\FasmC\fasm.exe %PROJECTNAME%.bat %PROJECTNAME%.obj ;\masm32\bin\link -lib "%PROJECTNAME%.obj" "/out:%PROJECTNAME%.lib" ;echo. ;pause ;cls