|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Дек 18, 2003 12:53:46 Доброго времени суток мастера. Приношу извинения за глупый вопрос, но я не могу разобраться а сроки поджимают. Прирывание int 1Аh ah=0B1h al=001h возвращает ответ в eax. (Например. Функций использующих 32 регистры несколько) Пришлось переписывать программу с поддержкой 32 битных регистров. сегменты задаю на манер: codes segment 'code' use32 (компилируеться tasm без вопросов) Если линковать tlink то появляеться ошибка: 32 -bit record encountered in module XXX.obj заменяюt link на tlink /3 линкуеться без ошибок, но callы указывают на аддрес 0000:смещение. те сегментный аддр ... не знаю что с ним происходит. Причем все опрации с 32 б регистрами раскладываються на несколько мнемоник и если не ставить nopы затирают следомидущие :( заменяю link на tlink32 получаю ошибку Fatal: Bad loc for fixupp in module 'XXX.obj' near file offset f6 Кто то подскажите (желательно с примером), как собирать такие программы ? Очень надо, горю по срокам. С уважением. Ворон. |
|
|
Дата: Дек 18, 2003 17:58:23 Попробуй собирать с tasm32.exe и tlink32.exe , без сырца трудно сказать ... |
|
|
Дата: Дек 18, 2003 18:58:55 Хмм... странно, что ничего не получается.. Я свою прогу, в которой и 16 и 32-битный код имеется, компилил так (ml.exe v6.14, ну а линковщик "досовский" конечно): ... \masm32\dos\ml /c xxx.asm \masm32\dos\link xxx.obj \masm32\dos\exe2bin xxx.exe xxx.com ... Ну и всё вроде... Вот такие пироги... :) P.S. Начало в исходнике такое: .model tiny .code .586p org 100h start: ......... cpuid использовал... И вообще вопрос бредовый... |
|
|
Дата: Дек 18, 2003 21:03:44 Ура все получилось. Помог MoKC0DeR. Убрал use32 и все заработало и сall в том числе... 80) Последовательность ;) оказалась tasm32 usb /m2 tlink usb /3 Всем спасибо. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.079 |