Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2018, 20:20   #11
Vlad Kom
 
Регистрация: 01.12.2018
Сообщений: 8
По умолчанию

Цитата:
Сообщение от R71MT Посмотреть сообщение
причины не знаю, но уверен
что если это *.сом и сумма этих/трёх файлов выйдет за пределы одного сегмента (64К), то прога не запустится. Тогда к чему эти танцы? Не проще-ли запихать всё в один исходник и скомпилировать его по-человечески?
Скорее всего проще... Будем пробовать дальше. Спасибо
Vlad Kom вне форума Ответить с цитированием
Старый 02.12.2018, 23:28   #12
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Если лень описывать одни и те-же функции вручную, то почитай про макросы.
Эта фишка сильно облегчает жизнь и избавляет от рутины, только привыкнуть к ней нужно. Например у меня есть такая библиотека функций, которую можно подключать в виде внешнего файла к своим проектам - это т.н. инклуды. Компилятор подтянет в исходник только те из них, которые ты реально задействуешь в своей программе. За пол-дня можно накатать полную либу всех функций (по типу виндовых DLL'лок), зато использовать её будешь до конца жизни. В качестве демо, вот отрывок моих макросов на фасме:
Код:
; файл-макросов 'myMacros.inc'
;-----------------------------
macro VideoMode [vm]	  ; установить видео/режим ;--------|
{  mov	 al,vm
   int	 10h  }

macro Message [ms]     ; вывод сообщений fn/09h ---------|
{  mov	 dx,ms		      
   mov	 ah,9
   int	 21h  }

macro GetKey			        ; клавиатурный ввод без эхо ------|
{  xor	 ax,ax
   int	 16h  }

macro Exit			          ; выход из программы! ------------|
{  mov	 ah,4ch
   int	 21h  }
Теперь подключаем эту библиотеку к своему проекту:
Код:
include 'myMacros.inc'
;--------------------- fasm code --------
org  100h
jmp  start

txt0  db  13,10,'Hello World $'
txt1  db  13,10,'Example Macro code. $'

start:  VideoMode 12h       ; ставим графическую видео/моду
        Message   txt0      ; боксим мессаги
        Message   txt1      ;
        GetKey              ; ждать нажатия клавиши
        VideoMode 3         ; сброс в/моды в дефолт
        Exit                ; на выход!
Таким-же образом собираешь в этот файл-макросов все/остальные функции из справочника "Tech-Help", и вуаля.
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 03.12.2018, 01:27   #13
Vlad Kom
 
Регистрация: 01.12.2018
Сообщений: 8
По умолчанию

Цитата:
Сообщение от R71MT Посмотреть сообщение
Если лень описывать одни и те-же функции вручную, то почитай про макросы.
Эта фишка сильно облегчает жизнь и избавляет от рутины, только привыкнуть к ней нужно. Например у меня есть такая библиотека функций, которую можно подключать в виде внешнего файла к своим проектам - это т.н. инклуды. Компилятор подтянет в исходник только те из них, которые ты реально задействуешь в своей программе. За пол-дня можно накатать полную либу всех функций (по типу виндовых DLL'лок), зато использовать её будешь до конца жизни. В качестве демо, вот отрывок моих макросов на фасме:
Код:
; файл-макросов 'myMacros.inc'
;-----------------------------
macro VideoMode [vm]	  ; установить видео/режим ;--------|
{  mov	 al,vm
   int	 10h  }

macro Message [ms]     ; вывод сообщений fn/09h ---------|
{  mov	 dx,ms		      
   mov	 ah,9
   int	 21h  }

macro GetKey			        ; клавиатурный ввод без эхо ------|
{  xor	 ax,ax
   int	 16h  }

macro Exit			          ; выход из программы! ------------|
{  mov	 ah,4ch
   int	 21h  }
Теперь подключаем эту библиотеку к своему проекту:
Код:
include 'myMacros.inc'
;--------------------- fasm code --------
org  100h
jmp  start

txt0  db  13,10,'Hello World $'
txt1  db  13,10,'Example Macro code. $'

start:  VideoMode 12h       ; ставим графическую видео/моду
        Message   txt0      ; боксим мессаги
        Message   txt1      ;
        GetKey              ; ждать нажатия клавиши
        VideoMode 3         ; сброс в/моды в дефолт
        Exit                ; на выход!
Таким-же образом собираешь в этот файл-макросов все/остальные функции из справочника "Tech-Help", и вуаля.
О! Это реально супер полезная штука. Спасибо. Обязательно изучу макросы)
Vlad Kom вне форума Ответить с цитированием
Старый 03.12.2018, 12:30   #14
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

Я, конечно, не модулятор, но чтобы сказать в ответ пару слов, не нужно цитировать предыдущий пост целиком.
digitalis вне форума Ответить с цитированием
Старый 03.12.2018, 19:56   #15
Vlad Kom
 
Регистрация: 01.12.2018
Сообщений: 8
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
Я, конечно, не модулятор, но чтобы сказать в ответ пару слов, не нужно цитировать предыдущий пост целиком.
Ок)
Vlad Kom вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подключение модулей kitsun Паскаль, Turbo Pascal, PascalABC.NET 2 16.11.2013 15:11
подключение модулей... Teleport Помощь студентам 2 25.06.2008 00:26
подключение модулей... Teleport Помощь студентам 1 13.06.2008 15:04
Объединение GWT-модулей ILester JavaScript, Ajax 0 24.10.2007 14:55