11.12.2018, 02:31 [+3 UTC]
в нашей команде: 3 207 чел. | участники онлайн: 3 (рекорд: 19)

:: РЕГИСТРАЦИЯ

:: задать вопрос

:: все разделы

:: правила

:: новости

:: участники

:: доска почёта

:: форум

:: блоги

:: поиск

:: статистика

:: наш журнал

:: наши встречи

:: наша галерея

:: отзывы о нас

:: поддержка

:: руководство

Версия системы:
7.57 (10.12.2018)

Общие новости:
01.12.2018, 22:30

Форум:
08.12.2018, 14:26

Последний вопрос:
10.12.2018, 18:36

Последний ответ:
10.12.2018, 22:41

Последняя рассылка:
10.12.2018, 20:15

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
19.11.2017, 13:53 »
Polina
БОЛЬШОЕ СПАСИБО ЗА ПОМОЩЬ! [вопрос № 191801, ответ № 275597]
16.12.2015, 15:02 »
readtext
Спосибо за разъяснения по трансформаторам. ЛАТР приобрету, думается будет еще масса ситуаций где бы он мог пригодиться. Для примера: сравнение потреб. мощности одинаковых эл.-приборо при эталонном напряжении (220В). Циркуляционный насос - излишнее усложнение системы для небольшого помещения на втором этаже. На счет помех: чем бороться со следствием, лучше устранить причину на м.взг. Ровная синусоида - залог сдоровья всех электроприборов. [[url=http://rfpro.ru/ques tion/188424]вопрос № 188424, ответ № 2730..
13.03.2010, 16:47 »
Матвеев Денис Александрович
Спасибо. Всё очень БЫСТРО, ясно и понятно. Разобрался:) [вопрос № 177215, ответ № 260081]

РАЗДЕЛ • Assembler

Создание программ на языке Assembler.

[администратор рассылки: Лысков Игорь Витальевич (Старший модератор)]

Лучшие эксперты в этом разделе

Зенченко Константин Николаевич
Статус: Старший модератор
Рейтинг: 843
Лысков Игорь Витальевич
Статус: Старший модератор
Рейтинг: 179
Evgen aka Chuma
Статус: 6-й класс
Рейтинг: 14

Перейти к консультации №:
 

Консультация онлайн # 67902
Раздел: • Assembler
Автор вопроса: Whiteman
Отправлена: 20.12.2006, 21:59
Поступило ответов: 2

Здравствуйте ! У меня есть два com файла скомпилированные (без ключей) в TASM. Я хочу написать программу , которая склеивает два файла. Тоесть получается файл размером в два предыдущих. Сначала выполняется первый com файл, а за ним сразу второй. Возможно ли это осуществить ? Я пробовал просто дописать код второго файла в конец первого, но при запуске выполняется только первый файл.

Состояние: Консультация закрыта

Ответ # 132748 от Евгений Иванов

Здравствуйте, Whiteman!

Смещения нужно учитывать. И или ассемблировать вторую программу так, что размер первой программы учитывается, или ассемблировать так вторую, что смещения универсальные или относительные.


Консультировал: Евгений Иванов
Дата отправки: 20.12.2006, 22:37

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Ответ # 133001 от IceWolf

Здравствуйте, Whiteman!
В принципе возможно, но:
1. В одной программе может быть несколько точек выхода, т.е. передаёте управление первому файлу, а он выполняет int 20h /fn 00h int21h /fn 4ch int 21h /sp=0fffeh ret
Решение:перехватывать соответствующие прерывания.
2. Смещения в .com рассчитываются исходя из того, что адрес загрузки-CS:100h
Решение:после выполнения перевой программы записать поверх неё вторую и передать ей управление.
Предлагаю сразу после первой программы поместить вторую, просле второй-наш код. А первые байты первой программы(естественно, предварительно сохранив их) заменяем на jmp на наш код. Там перехватываем прерывания, восстанавливаем байты и jmp на код первой проги. Когда она завершится управление перейдёт к нашему обработчику(его также помещаем в конце, после двух программ), он копирует код второй программы на место первой(CS:100h), восстанавливает векторы прерываний и передает управление на CS:100h.
Не забывайте про суммарный размер-64kb, а также про стек, что рестет снизу, и может затереть наш код.
Как видете, не всё так просто, как кажется на первый взгляд.
План действий я наметил, дальше, надеюсь, справитесь.
С уважением, IceW0|f.


Консультировал: IceWolf
Дата отправки: 22.12.2006, 02:24

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.13957 сек.

© 2001-2018, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.57 от 10.12.2018