Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 07.01.2017, 23:56   #11
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 10,344
Репутация: 1609

icq: 216409213
По умолчанию

Цитата:
Это кто так решил?
Голос разума...

Цитата:
inc в асме могут содержать всё, что угодно, в т.ч. сами функции. Или Вы такого не встречали?
Я много чего встречал и include cpp в С++... но к теме это не имеет никакого отношения. Даже если вы там напишите функции и не будете использовать - линкер их выкинет из результата.
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 08.01.2017, 00:13   #12
7in
Евгений (Jin X)
Форумчанин
 
Аватар для 7in
 
Регистрация: 14.12.2014
Адрес: Самара
Сообщений: 237
Репутация: 147
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Даже если вы там напишите функции и не будете использовать - линкер их выкинет из результата.
Да? А давайте проведём небольшой эксперимент.
Простая прога (под DOS):
Код:

.model tiny
.code
.startup

		call	Proc1

		int	20h

include		some.inc

end

И some.inc:
Код:

Proc1		proc
		mov	ah,9
		lea	dx,Used
		int	21h
		ret
Proc1		endp

Proc2		proc
		mov	ah,2
		mov	dl,'.'
		int	21h
		ret
Proc2		endp

.data
Used		db	'Hello world!',13,10,'$'
NotUsed		db	'Bye world!',13,10,'$'

.code

Ну и для Windows (MASM32):
Код:

.586P
.MODEL Flat,StdCall
OPTION CASEMAP:NONE

INCLUDE		WINDOWS.INC
INCLUDE		KERNEL32.INC
INCLUDE		USER32.INC
INCLUDELIB	KERNEL32.LIB
INCLUDELIB	USER32.LIB

.CODE

Start:

		call	Proc1

		invoke  ExitProcess, NULL

include		some32.inc

END		Start

some32.inc:
Код:

.data
Used		db	'Hello world!',13,10
NotUsed		db	'Bye world!',13,10
Result		dd	?

.code

Proc1		proc
		invoke	GetStdHandle, STD_OUTPUT_HANDLE
		invoke	WriteFile, eax, addr Used, lengthof Used, addr Result, 0
		ret
Proc1		endp

Proc2		proc
		invoke	MessageBox, 0, 0, 0, MB_OK or MB_ICONWARNING or MB_TASKMODAL or MB_SETFOREGROUND
		ret
Proc2		endp

Теперь скомпилируйте обе проги и загляните внутрь – будут ли там Proc2 и NotUsed?
7in вне форума   Ответить с цитированием
Старый 09.01.2017, 23:56   #13
7in
Евгений (Jin X)
Форумчанин
 
Аватар для 7in
 
Регистрация: 14.12.2014
Адрес: Самара
Сообщений: 237
Репутация: 147
По умолчанию

Версия 1.01. Добавил пару нюансов
Цитата:
v1.01 (09.01.2017)
[+] Добавлена проверка версии callx: для этого ПЕРЕД включением файла callx.inc в проект нужно определить константу callx_ver_req, хранящую минимально требуемую версию callx.
[*] Все примеры переведены из кодировки Windows-1251 в DOS-866.
Вложения
Тип файла: zip callx_1.01.zip (37.2 Кб, 0 просмотров)

Последний раз редактировалось 7in; 10.01.2017 в 01:06.
7in вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Эллипс в DOS (masm, tasm, fasm) Mikl___ Assembler 14 13.12.2014 10:06
Номер первого положительного числа / Assembler, MASM, TASM schibeki Помощь студентам 1 04.03.2014 12:13
Конвертер с языка masm на язык tasm максат Assembler 6 14.06.2011 14:27
Обьясните различия между - FASM, WASM, VASM, MASM, TASM Amancha Assembler 9 17.01.2009 16:38
Чем отличается Tasm от Masm veter_s_morya Assembler 17 21.07.2008 16:55




06:07.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru