MODEL small
IDEAL
;stack 100h !! NO STACK
CODESEG
public funca !! BEFOR FUNC
proc funca
push bp
mov bp,sp
fld [dword ptr bp+2]
fsub [dword ptr bp+6]
fld [dword ptr bp+10]
fadd [dword ptr bp+14]
fmul st(0),st(1)
fdiv [dword ptr bp+18]
pop bp
ret
endp
end
Lib файлы
Надо получить файл *.lib, чтоб подключить его к проекту на С++.
У меня такая программа на ассемблере:
MODEL small
IDEAL
stack 100h
CODESEG
proc funca
public funca
push bp
mov bp,sp
fld [dword ptr bp+2]
fsub [dword ptr bp+6]
fld [dword ptr bp+10]
fadd [dword ptr bp+14]
fmul st(0),st(1)
fdiv [dword ptr bp+18]
pop bp
ret
endp
end
Компилирую как обычно
tasm /mx /zi /la lab4.asm
Потом проверяю tlib lab4.lib,lab4.txt
Содержание lab.txt:
No public symbols exist.
То есть ничего не вышло.Подскажите, пожалуйста
Код:
tasmi /zi lab4.asm
tlib /E mylib -+lab4
Только как ты ее подключать будеш, я не знаю. Я под досом втыкал в С obj файлы, но не библиотеки, хотя должно прокатить - ведь библиотека - кучка обджфайлов.
Упс, чето я на дату не глянул :)
Что нужно изменить в коде написанном для компиляции в obj файл (используя соглашения о
связях C), чтоб он успешно в LIB откомпилировался.
вот пример кода:
_TEXT SEGMENT WORD PUBLIC 'CODE'
ASSUME cs: _TEXT
PUBLIC _ResetKr1446
PUBLIC _ProgKr1446
_ResetKr1446 PROC
push bp
mov bp,sp
push cx
push dx
;дальше код самой функции
;.....
pop dx
pop cx
mov sp,bp
pop bp
retn
_ResetKr1446 ENDP
_ProgKr1446 PROC
push bp
mov bp,sp
push cx
push bx
push dx
mov bx,WORD ptr [bp+4]
;дальше код функции
;.....
pop dx
pop bx
pop cx
mov sp,bp
pop bp
retn
_ProgKr1446 ENDP
_TEXT END
-----------------------------------------------