|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Сен 10, 2004 22:34:24 Загвоздка: mov bx,descryptor1 push bx xor cx,cx xor dx,dx mov al,2 call fileseek ; ставим наконец файла pop bx push bx mov cx,dx mov dx,ax sub dx,16d mov al,2 call fileseek ; поставим на 16 от конца Открыл файл размером в 16 байт, и по идее после конечной функции указатель должен установиться Size-16, т.е. на ну- левом файловом смещении, вместо этого вижу dx=0000,ax=0010 хотя жду нули. почему он не хочется устанавливаться в нужное файловое сме- чение. Дело в том что в файле, который буду открывать в конце 16 байт очень важны для меня поэтому хочу обобщить и сделать как для 1230h размером, так и для 10h одну функцию прочте- ния этих 16 байт |
|
|
Дата: Сен 10, 2004 22:40:35 xor cx,cx xor dx,dx Зачем? pop bx push bx Зачем? |
|
|
Дата: Сен 10, 2004 22:50:03 Чтобы сначала узнать какой размер файла а уж потом делать смещение |
|
|
Дата: Сен 12, 2004 01:17:30 Проблему решил. Дело в том что я узанавал размер и вычитал из него 16, после ставил указатель на эту величину от Конца! А надо на эту величину от начала! |
|
|
Дата: Сен 12, 2004 21:45:23 Доброго здравия и безглючного кода. 1) У меня загвоздка в проекте который я прикрепил есть глюк в коде(0x0e5ah) выскакивает ошибка cf=1,al=06h, т.е. инвалидный дискриптор! Она у меня проявилась в следующей ситуации: создал 1.txt с следующим содержанием: "Pentium",т.е. 7 символов, получил 1.crp, 1.txt переименовал в 1_or.txt запускаю и не фига! См. описание ошибки выше 2) Также есть следующий баг, при попыке расшифровывания зашифрованного crypt.asm получается дурь с 2мя послед- ними байтами, почему тоже не уловлю смысла. Просьба помочь разобраться с 2 мя багами, и порекомен- довать пути их исправления. _2008298595__cryptor.zip |
|
|
Дата: Сен 13, 2004 22:59:21 Разобрался просто прежде чем писать в файл забыл его создать :) |
|
|
Дата: Сен 14, 2004 15:39:32 EvilsInterrupt mov bx,descryptor1 push bx xor cx,cx xor dx,dx mov al,2 Не используй 16-и битные регистры. Уже очень давно надо было отказаться от них, т.к. скорость их оставляет желать лучшего. |
|
|
Дата: Сен 16, 2004 21:30:13 Avalonec Гыг... не только скорость!! "mov AX,some_shit" и "mov EAX,some_shit" транслируются в один и тот же код <0B8h shit_someh> только в дескрипторе сегмента кода под win32 должен быть установлен бит D=1 (хм... вроде не напутал) и по умолчанию подразумевается 32 битовый регистръ, а когда юзаешь в коде AX, транслятор перед опкодом должен вставить префикс замены размера операнда 066h, т.е. используя 16 битовые реги мы увеличиваем каждую комманду на 1 байт.... если я ничего не путаю.... |
|
|
Дата: Сен 17, 2004 04:03:22 Avalonec > Не используй 16-и битные регистры Inked Wedge > Гыг... не только скорость!! ... увеличиваем каждую комманду на 1 байт Прежде чем давать рекомендации ознакомьтесь с исходным текстом и уясните, наконец, что он является dos-приложением, использующим 16-тибитные сегменты (т.е. префикса размера операнда не будет) и что параметры в диспетчер функций dos передают в 16-тибитных регистрах. |
|
|
Дата: Сен 17, 2004 20:55:53 Кому не влом глянете на аттач, производит ли он информацию для крипто аналитика по мимо, одинаковых 64 битных блоков! _1275045186__cryptor.zip |
|
|
Дата: Сен 18, 2004 10:36:29 q_q Хм... тогда 32 разряда будут увеличивать на байт... префиск перед этими коммандами ставится будет... P.S. В исходнике ничего не указывает однозначно на дос платформу :) |
|
|
Дата: Сен 18, 2004 11:11:22 Inked Wedge ничего не указывает Шутишь? Или неудачная попытка оправдаться? ... org 100h ... int 20h ... ; прочитать клаву на "1" или "2" ; в случае двойки режим decrypt mov ah,8 int 21h ... |
|
|
Дата: Сен 18, 2004 20:38:57 ни кто не знает, как в досе серийник винта прочитать? |
|
|
Дата: Сен 19, 2004 04:54:43 EvilsInterrupt как в досе серийник винта прочитать
|
|
|
Дата: Сен 19, 2004 10:19:58 q_q Блин теперь понял.... я не туды смотрел. Странно, что под ДОС еще кто то пишет....... |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.064 |