eXeL@B —› Крэки, обсуждения —› Программинг для DOS |
Посл.ответ | Сообщение |
|
Создано: 26 августа 2005 09:33 · Личное сообщение · #1 Короче проблема: выделяю память, читаю туда файл, записываю от туда файл , файлы отличаются - почему? может кто поможет? кусок кода ниже mov ax, 0x06 mov bx, ax mov ah, 48h int 21h jc err_mem mov word ptr cs:[handlemem],ax mov ds, ax mov ax, 3f00h mov bx, word ptr cs:[HandleOpen] xor dx, dx mov cx, word ptr cs:[Len+2] int 21h xor dx, dx mov ah, 40h mov bx, word ptr cs:[HandleCrea] mov ds, word ptr cs:[handlemem] mov cx, Word ptr cs:[Len+2] int 21h |
|
Создано: 26 августа 2005 11:57 · Личное сообщение · #2 |
|
Создано: 26 августа 2005 12:50 · Личное сообщение · #3 |
|
Создано: 26 августа 2005 13:07 · Личное сообщение · #4 |
|
Создано: 26 августа 2005 13:08 · Личное сообщение · #5 |
|
Создано: 26 августа 2005 17:48 · Личное сообщение · #6 neyron пишет: только не смейтесь это для девушки на работе Да зачем же смеяться, все мы чайники. Только я не понял, как оно должно работать. Вроде бы это исходник для com-файла? Хотя здесь что exe, что com – один хрен. Я собрал его TASM’ом запустил в отладчике и сразу обломался. 0187 BA5D00 MOV DX,005D ; должно быть видимо 82h? 018A B43D MOV AH,3D 018C 33C9 XOR CX,CX 018E CD21 INT 21 Но и 82h не прокатит. Если у тебя нет хорошей доки по DOS ищи: «Tech Help» - 800kb и «RBIL» - 2.5Mb Найти не сложно. От туда сразу узнаём: +80H 1 bCmdTailLen count of characters in command tail at 81H (also default setting for the DTA) +81H 127 abCmdTail characters from DOS command line 256 size of a PspRec structure Ну а +82h как раз и есть аргумент командной строки. Только он не ASCIIz, то есть без нуля. Значит, нужно сначала получить переменную с именем файла и нулём на конце, желательно при этом иметь полный путь. Если я чего не понял - объясните. ----- Всем привет, я вернулся |
eXeL@B —› Крэки, обсуждения —› Программинг для DOS |