· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.ASSEMBLER —› А есть ли альтернатива RTA?

. 1 . 2 . >>

Посл.отвђт Сообщенiе


Дата: Янв 13, 2004 17:49:11

Есть такие замечательные программы RTA1.2 и RTA2 - в частности
там есть фича для написания кусков программ на ассемблере, т.е
можно например написать програмку из двух ассемблерных строк типа:

4eb6dc: cmp eax, 3b
4eb6f1: jne 4eb72d

и получить их машинный код, дальше им можно распоряжаться по своему усмотрению.

Так вот, вопрос:
Есть ли альтернатива для программ серии RTA(желательно работающих в консольном режиме)?
Насколько я знаю в MASM и TASM нельзя передать оффсет команды и ее содержание....,
а так бы хотелось по оффсету и самой команде получить готовый машинный код.


Дата: Янв 13, 2004 17:57:16

hiew


Дата: Янв 13, 2004 19:21:50

Коротко и ясно, спасибо посмотрю.
Как-то hiew я вниманием обделял всегда (интерфейс досовский), спасибо за совет, посмотрю...


Дата: Янв 13, 2004 21:43:53

Нет, hiew не совсем то что нужно: нет возможности править оффсет. Может кто еще знает?


Дата: Янв 13, 2004 21:50:58

нет возможности править оффсет

это чего offset?


Дата: Янв 13, 2004 22:01:29 · Поправил: Asterix

[ Egorka: нет возможности править оффсет.]

5 минут медитировал, но так и не понял смысл этой фразы ;-)


Дата: Янв 13, 2004 23:10:10

Ну чего-чего: адрес команды по-простому.

в hiew:

000000: cmp eax, ebx
000004: jne 6dc7de

а надо например так:
6dc7d2: cmp eax, ebx
6dc7d6: jne 6dc7de

чтобы не с относительным адресом работать, а с абсолютным.


Дата: Янв 13, 2004 23:32:25

Опять не понял, есть понятие "смещение в файле" и "смещение в пямяти", HiEW показывает оба, в чём проблема??


Дата: Янв 13, 2004 23:39:09

Egorka
Боец невидимого фронта, а ты пробовал Alt+F1 клацать? Иногда помогает ;)


Дата: Янв 14, 2004 15:32:12

Кажется, я понял. Если нажать еще F3 (для редактирования), то виртуальные адреса пропадут, останутся только смещения в файле.


Дата: Янв 14, 2004 21:37:29

QuickeneR

Ещё лучше нажать Alt+F1, как уже написАл volodya.


Дата: Янв 14, 2004 23:56:23

Alt+F1 отображает тип адреса в режиме Global и Local - не совсем то.
Как объяснить....
Надо написать файл (с новья) содержащий например код:
6dc7d2: cmp eax, ebx
6dc7d6: jne 6dc7de

а если я начну его писать в heiw то получиться:
000000: cmp eax, ebx
000004: jne 6dc7de

что совершенно естественно.
Но мне надо чтобы не запутаться писать именно в адресах
не 000000, а 6dc7d2 - пусть даже формально я и пишу в адрес 000000.

Вы можете сказать, умный какой..., возьми да и пересчитай
jne 6dc7de относительно 000004, а не 6dc7d6.
А если у меня не одна такоя строка....

RTA1.2 позволяет подготовить ассемблерный код в абсолютных адресах, вот я и интересуюсь не встречал ли кто программ с такой же фичей. Но RTA1.2 делает это по одной строке, мне надо оптом.

Понятно?


Дата: Янв 15, 2004 00:08:01

Egorka
Для этих целей в ассемблерах есть директива org. Попробуйте FASM. MASM не пытайте - с вашим адресом "задуууумается"


Дата: Янв 15, 2004 08:51:58

Asterix
AFAIK Alt-F1 работает в режиме просмотра, а не редактирования. Запускаю hiew 6.83 Enter Enter F8 F5 F3. Куда нужно нажать, чтоьы снова увидеть виртуальные адреса? (Ответ Esc очевиден, но не подходит :-) )

Egorka
То есть ты пишешь код не по тому адресу, что он будет исполняться? Нажав Ctrl-F5, можно выбрать базу (например база *123 - и текущая инструкция начинается по этому адресу).


Дата: Янв 15, 2004 17:56:43

QuickeneR
Спасибо, в общем то что нужно.

S_T_A_S_
Fasm я посмотрю, спасибо.
Tasm и Masm у меня есть, Fasm как-то не смотрел вообще.

. 1 . 2 . >>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.064