|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июл 19, 2003 01:01:27 Я перенес папку TASM из Win2000 в Win98 и после этого tlink.exe выдает ошибку "out of memory", причем и для ранее благополучно компилирующихся .obj-ей. Помню, когда-то я на мог на одной дискетке принести нужные файлы, скопировать на любую винду и все работало. Я, конечно, могу установить из инета еще раз этот TASM, но просто интересно что ему сейчас не нравится... |
|
|
Дата: Июл 19, 2003 01:06:19 О, теперь я Воин дзена... А я бы написал Камикадзе дзена. :)) |
|
|
Дата: Июл 19, 2003 01:43:35 tlink32 запускай. Кстати, в форуме мы уже обсуждали это! |
|
|
Дата: Июл 19, 2003 12:47:02 А, все... Нет проблемы. Я просто запустил свой tlink в "сеансе MS-DOS", а не в NC, как до этого и все заработало. 2volodya: tlink32 не пойдет, т.к. мне сейчас нужно писать именно 16-битный код. А в форумах по слову "tlink" я нашел как ты опять тут ругаешься, а не ответ на вопрос "почему не работает tlink". |
|
|
Дата: Июл 19, 2003 19:33:29 ОК, босс. Сорри |
|
|
Дата: Июл 20, 2003 23:16:31 :)))))))) И у меня еще вопрос: Как узнать текущий ip/eip во время исполнения программы? mov ax,ip ;,как оказывается, не работает. TASM вообще говорит, что IP - "неизвестный идинтификатор". И шо тогда делать? |
|
|
Дата: Июл 20, 2003 23:36:50 call $+5 pop ebp ; <- в EBP будет EIP |
|
|
Дата: Июл 21, 2003 00:42:49 Классная схема! Как я не догадался...Вот спасибо. И следующий вопрос "как мне организовать условный переход на определенную метку используя относительные ссылки?" сам отпал. [@@1: je $+(@@2-@@1)] Молодцы ребята! |
|
|
Дата: Июл 21, 2003 01:10:34 Quantum А как насчет hlt mov ebp,[esp-4] Но все используют твое предложение типа call _метка _данные: db ? _метка: pop esi esi - указывает на _данные |
|
|
Дата: Июл 21, 2003 01:22:56 Кстати, а позволяет ли синтаксис ассемблера короче записать [@@1: je $+(@@2-@@1)]? А то как-то влом мне каждый раз эти джампы метить и потом -@@1 в скобочке писать... Может есть какая нибудь более простая схема? Типа je $(@@1). Главное - не метить каждый условный переход. |
|
|
Дата: Июл 21, 2003 01:26:46 Понял. je $+(@@2-$) как ни странно, тоже работает :) |
|
|
Дата: Июл 21, 2003 01:40:07 PROFi А как насчет hlt hlt -- привилегированная команда, хотя вы это и без меня знали... |
|
|
Дата: Июл 21, 2003 17:04:22 Интересно, эти сишные функции cscanf и printf исполлльзуют функции 0Ah,0Ch,и 09h прерывания 21h? Может кто знает? Я бы сам проверил, но у меня нет под рукой сишного компилятора под DOS... |
|
|
Дата: Июл 21, 2003 19:40:14 Объясните мне, пожалуйста, одну вещь: Вот я посмотрел код, дизассемблированный C#, и заметил множество условных команд такого типа: jz +0x19, je -0x06. Это, как я понимаю, прыжки относительно текущей позиции. И как такую же вещь устроить на TASM? jz $+(@@1-$),например, компилируется как jz 0ABCDh, а это не годится для случая, когда я хочу перенести этот код в другой не заботясь потом о том, куда теперь будут осуществляться условные переходы. Для безусловных можно использовать jmp bx (при этом предварительно надо всего один раз настроить bx, а потом уже плясать от него)... Но как же быть с условными переходами???! |
|
|
Дата: Июл 21, 2003 19:59:15 · Поправил: KiNDeR blackgun Придется, скорее всего, запускать IDA и ручками настраивать все условные переходы... :( Как, неоднократно повторял Касперски, "компиляция однонаправленный процесс, дисассемблирование проводится опираясь на опыт и интуицию..." Так что, только ты сам сможешь настроить все условные переходы... |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.076 |