· Начало · Статистика · WASM.RU · Noir.Ru ·

 WASM Phorum (Оффлайн - 24.11.2003) —› WASM.ASSEMBLER —› tlink: out of memory

. 1 . 2 . 3 . >>

Посл.отвђт Сообщен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 и ручками настраивать все условные переходы... :(
Как, неоднократно повторял Касперски, "компиляция однонаправленный процесс, дисассемблирование проводится опираясь на опыт и интуицию..."
Так что, только ты сам сможешь настроить все условные переходы...

. 1 . 2 . 3 . >>


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