![]() |
|
|
![]()
|
|
| VictorBondarenko |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 14.2.2005 Репутация: нет Всего: нет |
Уважаемые друзья!
Я работаю в досе в незащищенном режиме. Модель памяти беру .model tiny Моя прога формирует код по адресу 1000h:100h После формирования я хочу выполнить этот код. В Tasm я делал так call far 1000h:100h и все работало отлично. Masm32 такую команду считает ошибочной. Мне советовали push cs push 100h retf не работает. Я даже пробовал от отчаяния jmp 1000h:100h Все ерунда. Посоветуйте, что делать в таких случаях. С уважением, Виктор |
|||
|
||||
| AndNot |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 28.2.2008 Репутация: нет Всего: нет |
||||
|
||||
| VictorBondarenko |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 14.2.2005 Репутация: нет Всего: нет |
Ну конечно же я делал
mov ax,1000h mov cs,ax push cs mov di,100h push di ; если дать push 100h выдает грамматическую ошибку retf не работает |
|||
|
||||
| AndNot |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 28.2.2008 Репутация: нет Всего: нет |
Во первых, попробуй call dword ptr 1000h:100h. За масм не гарантирую, но тасм, в режиме масма, вроде бы проглатывал.
А во вторых, зачем портишь CS? Сам подумай, какая инструкция будет выполняться, если CS станет 1000h? Не ломай голову - 1000h:IP, т.е. следующей инструкцией будет не твоя, а что-то другое. Сделай проще:
Добавлено через 13 минут и 45 секунд Забыл добавить
Это сообщение отредактировал(а) AndNot - 2.3.2008, 14:30 |
||||
|
|||||
| VictorBondarenko |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 14.2.2005 Репутация: нет Всего: нет |
Спасибо AndNot !
Буду пробовать. |
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 4 Всего: 158 |
||||
|
||||
| AndNot |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 28.2.2008 Репутация: нет Всего: нет |
Собственно слепок консоли:
Как видишь масм32 даже не пикнул, и вполне успешно сработал в паре с линкером тасма ;) |
||||||
|
|||||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 4 Всего: 158 |
спасибо за старания
это становится очевидным уже даже из того факта, что во всех подобных топиках приводятся сообщения об ошибках именно линкера, а не ассемблера. и таки основная направленность этого пакета - win32, иначе авторы вложили бы и 16-битный компоновщик. а уж объяснять все эти тонкости людям, пишущим "хелло ворлд" - увольте-с. для меня проще - посоветовать, а для вопрошающего - использовать другой пакет. в данном случае - неосознанностью. |
|||
|
||||
| AndNot |
|
||||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 28.2.2008 Репутация: нет Всего: нет |
Добавлено через 1 минуту и 7 секунд
|
||||||||||
|
|||||||||||
| VictorBondarenko |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 14.2.2005 Репутация: нет Всего: нет |
Спасибо AndNot !
mov ax,1000h push ax mov ax,100h push ax retf работает отлично. А по по поводу того, почему masm32. Да не почему, просто он был у меня вот и все аргументы. А что masm64? Там что-то покруче? Скажите в двух словах, кто раболал с ним . Если отзывы хорошие,то буду искать его. Спасибо всем, Виктор |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: нет Всего: 360 |
Модератор: Название темы должно отражать ее суть!
|
|||
|
||||
| dumb |
|
||||||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 4 Всего: 158 |
заметь
фраза про "подобные топики" должна была лишь показать, что способность компилить 16-битный код не относится к разряду тайных знаний. разговор шел о пакете masm32, а не о "родственных связях" masm'а.
не стоит понимать все так буквально! но должен извиниться: я попросту не обратил внимания, что в твоем примере была фраза "Hello World"
это шутка была. на всякий случай напомню, что это аналог не call'а, а jmp'а. ps. AndNot, можно я откланяюсь? - нет желания вести спор не о чем. |
||||||
|
|||||||
| AndNot |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 28.2.2008 Репутация: нет Всего: нет |
Видно мы просто по разному поняли вопрос. Для меня разговор шел о компиляторе масма, взятого из пакета Хатча, но не о самом пакете, что довольно разные вещи, ИМХО. Ну да ладно, проехали
Как будто я могу помешать |
|||
|
||||
![]()
|
| Правила форума "Asm: Общие вопросы" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |