Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Библиотека подпрограмм на TASM

19K
19 сентября 2006 года
ru5t
5 / / 27.07.2006
интересует , как написать библиотеку процедур. Так , чтобы программа, которую пишу , могла бы подключать её и использовать подпрограммы, в ней определённые. Знаю метод совместной сборки из OBJ файлов , но он не представляется удобным.
1.8K
19 сентября 2006 года
k3Eahn
365 / / 19.12.2005
[quote=ru5t]Знаю метод совместной сборки из OBJ файлов , но он не представляется удобным.[/quote]
Из каких соображений?
19K
19 сентября 2006 года
ru5t
5 / / 27.07.2006
ответь сам- из каких соображений такой метод можно назвать удобным?
261
19 сентября 2006 года
ahilles
1.5K / / 03.11.2005
дааа, если бы такая фишка была бы, намного проще стало бы писать проги на асме
я просто все подпрограммы скидываю в один файл потом просто копирую подпрограммы оттуда
19K
19 сентября 2006 года
ru5t
5 / / 27.07.2006
то есть такой фишки ОДНОЗНАЧНО нету? неверно, а как же DLL ? толmrj они виндовые, а меня это интересует бз привязки к ОС.
1.8K
19 сентября 2006 года
k3Eahn
365 / / 19.12.2005
[quote=ru5t]ответь сам- из каких соображений такой метод можно назвать удобным?[/quote]
Йопт и мат-перемат.
Ну если через либу не устраивает, то почему бы эти процедуры не оформить в файлах-инклудах, а потом делать с ними
 
Код:
include имя_файла
?
19K
20 сентября 2006 года
ru5t
5 / / 27.07.2006
в INC файлы можно понапихать макросов... а вот процедур нельзя.
1.8K
20 сентября 2006 года
k3Eahn
365 / / 19.12.2005
Ну, не знаю как TASM, а вот MASM относится к такому способу нормально.
261
20 сентября 2006 года
ahilles
1.5K / / 03.11.2005
это вообще хорошо!!!
всё, перехожу на MASM
19K
21 сентября 2006 года
ru5t
5 / / 27.07.2006
а жаль, что тасм с этими делами не дружит
349
21 сентября 2006 года
Phantom-84
656 / / 27.10.2005
Да, можно использовать включаемые файлы, в которых каждую подпрограмму поместить в отдельный макрос, после чего в том месте, где обычно размещаешь подпрограмму, достаточно просто указать имя соответствующего макроса. Можно сделать и получше: во вкючаемом файле использовать макрокод, добавляющий только те подпрограммы, к которым делались обращения. Одним словом, много чего можно придумать...
398
22 сентября 2006 года
Alexandoros
630 / / 21.10.2005
Какого х??? РТФМ tlib.exe. А то понаехали тут..
13K
23 сентября 2006 года
ant-str
36 / / 01.04.2006
Ребят. Есть такая фишка. Называется библиотека. Каждую процедуру в отдельном файле компилите в .obj-файл, а затем эти файлы собираете в .lib файлы.
Как абсолютно верно отметил Александрос, для этого есть утилита tlib.
Усё. А ваще ребята - книги читайте - полезно!
1.8K
23 сентября 2006 года
k3Eahn
365 / / 19.12.2005
[quote=Alexandoros]Какого х??? РТФМ tlib.exe. А то понаехали тут..[/quote]
[quote=ant-str]
Ребят. Есть такая фишка. Называется библиотека. Каждую процедуру в отдельном файле компилите в .obj-файл, а затем эти файлы собираете в .lib файлы.
Как абсолютно верно отметил Александрос, для этого есть утилита tlib.
Усё. А ваще ребята - книги читайте - полезно!
[/quote]
[COLOR=sienna]_________________________________________________________________[/COLOR]
[COLOR=sienna]\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/[/COLOR]
[quote=ru5t]
интересует , как написать библиотеку процедур. Так , чтобы программа, которую пишу , могла бы подключать её и использовать подпрограммы, в ней определённые. Знаю метод совместной сборки из OBJ файлов , но он не представляется удобным.
[/quote]
349
23 сентября 2006 года
Phantom-84
656 / / 27.10.2005
Библиотека - это просто несколько объектных файлов, собранных вместе. Но по каким-то там причинам использование объектных файлов товарищу не представляется удобным (???)... Кстати откуда такая информация, что во включаемых файлах нельзя записывать подпрограммы, а можно только макросы? По-моему, это чистый бред...
2.1K
24 сентября 2006 года
vectoroc
234 / / 25.07.2006
Есть такие вещи как линкеры...
Возможно вам стоит с ними познакомиться ;)

P.S. Прочитал первую страницу и ответил, а тут смотрю уже и без меня наставили на путь истинный :)
13K
24 сентября 2006 года
Exs42
42 / / 04.09.2006
[QUOTE=ru5t]в INC файлы можно понапихать макросов... а вот процедур нельзя.[/QUOTE]
Почему же нельзя то?!
Как правильно заметил Phantom-84, ты немного не прав...
Вот пример:
 
Код:
.model tiny
.code
org 100h
start:
mov dx,offset logo
call print
ret
include procedur.asm
logo db "Hello world!$"
end start

А где procedur.asm:
 
Код:
print proc
push ax
mov ah,9
int 21h
pop ax
ret
print endp

Это всё прекрасно работает в TASM 5.0!
13K
25 сентября 2006 года
ant-str
36 / / 01.04.2006
Ну что ж. Лады. Нет желания использовать стандартные методы - придумай свою технологию.
Подсказываю.
Формат файла:
ссылка на процедуру 1
...
ссылка на процедуру n
процедура 1
...
процедура n

Теперь составь несколько процедур, с помощью которых это можно использовать.

Это сложно, но можно реализовать.

И ещё придётся свой компоновщик (линкер) для этого писать.

Вопрос в другом - стоит ли овчинка выделки.

Если реализуешь это - нареку тебя Мастером!

P.S. Кстати, то, о чем ты говоришь, называется динамической компоновкой. В Windows подобная схема реализована. Читай Platform SDK: DLLs, Processes, and Threads: Dynamic-Link Library.
Platform SDK можно скачать с сайта Microsoft Corporation.
261
02 октября 2006 года
ahilles
1.5K / / 03.11.2005
точно, зачем мучаться просто скопировал и вставил
и ВСЁ!!!!!
это намного быстрее получается чем с lib и obj
1.8K
03 октября 2006 года
k3Eahn
365 / / 19.12.2005
У меня ко всем вопрос:
А в чём вы пишете?
13K
03 октября 2006 года
ant-str
36 / / 01.04.2006
[QUOTE=k3Eahn]У меня ко всем вопрос:
А в чём вы пишете?[/QUOTE]
В обезьяннике...
:)
1.8K
03 октября 2006 года
k3Eahn
365 / / 19.12.2005
[quote=ant-str]В обезьяннике...
:)[/quote]
Вообще то вопрос был в чём, а не [COLOR=red]где[/COLOR]:)

[quote=ant-str]В обезьяннике...
:)[/quote]
ЗЫ это чувствуется:rolleyes:
349
05 октября 2006 года
Phantom-84
656 / / 27.10.2005
[QUOTE=k3Eahn]У меня ко всем вопрос:
А в чём вы пишете?[/QUOTE]Чаще всего в валинках :D
349
05 октября 2006 года
Phantom-84
656 / / 27.10.2005
А если серьезно, то на fasm'е я пишу в fasm-редакторе. Он простой, но все необходимое в нем есть. Меня уже достали все среды программирования с награмождением в себе всего того, что может иногда пригодиться, и даже того, что точно не пригодится никогда. Я даже на Дельфике и Сишнике в последнее время все чаще компилирую из командной строки, нежели из интегрированной среды.
1.8K
05 октября 2006 года
k3Eahn
365 / / 19.12.2005
А мне нравиться RADASM - очень удобно.

ЗЫ Сколько здесь юмористов собралось.:) Прямо таки "Аншлаг" какой-то...
261
05 октября 2006 года
ahilles
1.5K / / 03.11.2005
EmEditor на tasm
для компиляции использую bat файл
13K
07 октября 2006 года
ant-str
36 / / 01.04.2006
Это не юмор. По-русски писать надо. "А в чём вы пишете?" Ха. Ясли.
1.8K
07 октября 2006 года
k3Eahn
365 / / 19.12.2005
[quote=ant-str]Это не юмор. По-русски писать надо. "А в чём вы пишете?" Ха. Ясли.[/quote]
Ну... То, что ты "знаток" великого и могучего ты уже показал:D .

ЗЫ Полагаю, из всех IDE ты предпочитаешь notepad.exe:D
13K
09 октября 2006 года
Exs42
42 / / 04.09.2006
Вроде ничего Turbo Assembler Shell. Я все проги в нём пишу.
13K
11 октября 2006 года
ant-str
36 / / 01.04.2006
To k3Eahn для "Специалиста". Microsoft Visual Studio.
1.8K
11 октября 2006 года
k3Eahn
365 / / 19.12.2005
[quote=ant-str]To k3Eahn для "Специалиста". Microsoft Visual Studio.[/quote]
А для ассемблера тоже студию используешь?
13K
11 октября 2006 года
ant-str
36 / / 01.04.2006
Да. Тоже. Ламеру может паказатся это невероятным. Но это так. И ассемблер предпочитаю использовать микрософтский. И компилятор си тоже микрософтский.
Но я скажу тебе точно. Микрософтский компилятор си с параметром /O2 создаёт самый быстродействующий и компактный код.
А если надо какой-нибудь низкоуровневый код забабахать, то использую cl и ml в сочетании, а затем линкую их объектники подходящим линкером. А если бинарный формат нужен, то компоную собственным простейшим линкером. Хотя это можно сделать с помощью ld из пакета GNU/GCC.
1.8K
11 октября 2006 года
k3Eahn
365 / / 19.12.2005
[quote=ant-str]Да. Тоже. [/quote]
Обычное поведение ньюбов - стрелять из пушки по воробьям.
[quote=ant-str]И компилятор си тоже микрософтский.
[/quote]
Это тот, который QuickC?:D
[quote=ant-str]
А если надо какой-нибудь низкоуровневый код забабахать, то использую cl и ml в сочетании[/quote]
Смотреть в начало поста:D
[quote=ant-str]
Микрософтский компилятор си с параметром /O2 создаёт самый быстродействующий и компактный код.
[/quote]
В сравнении с чем?
349
11 октября 2006 года
Phantom-84
656 / / 27.10.2005
...в сравнении с кодом, созданным этим компилятором без параметра /O2, чего тут непонятного! :D
13K
12 октября 2006 года
ant-str
36 / / 01.04.2006
To k3Eahn, Phantom-84 личные посты прошу писать в личку (с той целью, что бы не захламлять форум флеймом и оффтопом :) )...

"Это тот, который QuickC?"

Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.42 for 80x86

"В сравнении с чем?"

GNU Compilers Collection, Intel Optimized C++ Compiler
с аналогичными ключами (персонально для суперюмориста с ником Фантом-84)

Но Вам, ламерам с ламерского сайта, это ведь ни о чем не говорит...

Кстати, тема называется "Библиотека подпрограмм на TASM", а не "Какой IDE используют асм-ламеры-недоделки с буквой Е на груди"
7
28 октября 2006 года
@pixo $oft
3.4K / / 20.09.2006
[QUOTE=Exs42]Вроде ничего Turbo Assembler Shell. Я все проги в нём пишу.[/QUOTE]
РасшифрОФФка:Турбо Ассемблер SHell(сокр. от Super Hell)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог