|
|
| Посл.отвђт | Сообщен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 как-то не смотрел вообще. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.064 |