Автор
|
Тема: Создание каталога
|
Apelya |
опубликован 05-01-2002 12:58 MSK
Нужна программа создающая каталог указанный в ком. строке, киньте исходничек плз. , сам бы написал, да опыта нет - пробовал, но не получается...
|
rivitna
|
опубликован 05-01-2002 14:57 MSK
LOCALS.MODEL TINY .DATA? szNewDir DB 128 DUP (?) .CODE ORG 100h Start: ;Получение пути нового каталога из командной строки mov cl,ds:[80h] xor ch,ch jcxz Error mov di,81h mov al,' ' cld repe scasb je Error inc cx lea si,[di-1] mov di,OFFSET szNewDir @@CopyLoop: lodsb cmp al,' ' je @@Done stosb loop @@CopyLoop @@Done: mov BYTE PTR [di],0 mov ah,39h ;AH=39h (создать новый каталог) mov dx,OFFSET szNewDir int 21h ;CF=1 (ошибка) mov al,0 jnc Exit Error: mov al,0FFh Exit: mov ah,4Ch ;AH=4Ch (завершить работу) int 21h END Start Компиляция: tasm /m makedir.asm tlink /t /x makedir.obj
|
7in
|
опубликован 05-01-2002 21:46 MSK
В принципе, можно сделать проще :) Собственно, вот тебе пример, если нужно создать каталог с длинным именем (кавычки писать не надо)---------------------------------[Режь!]------------------------------- .MODEL Tiny .CODE ORG 100h Start: mov si,80h lodsb cbw xchg bx,ax mov byte ptr [si+bx],0 cld RemoveSpaces: lodsb cmp al,' ' je RemoveSpaces mov ax,7139h mov dx,si int 21h int 20h END Start ----------------------------[Хватит резать!]--------------------------- Если нужны короткие имена, то 'mov ax,7139h' нужно заменить на 'mov ah,39h'.
|
rivitna
|
опубликован 05-01-2002 22:04 MSK
Только вместо mov dx,si правильнее lea dx,[si-1], чтобы не пропускать первый символ пути :) |
rivitna
|
опубликован 05-01-2002 22:42 MSK
2 7in: Плохому и небезопасному стилю программирования ты учишь товарища. Не стоит заниматься модификацией PSP. Это может хорошо для вируса, где важен размер, но никак для прикладного программирования. Что будет если длина командной строки будет 127? |
7in
|
опубликован 10-01-2002 21:23 MSK
:)))))))))))))))))) |
7in
|
опубликован 10-01-2002 21:24 MSK
Ты не нервничай :)))))По поводу lea.... согласен :) А по поводу PSP.... ничего страшного тут не происходит. На счёт 127 - в принципе, макс.размер ком.строки - 126 символов, т.к. последний всегда 13. Он и заменяется на ноль :)))))) |
rivitna
|
опубликован 10-01-2002 23:51 MSK
> Ты не нервничай :)))))Так вроде и не возбуждался! :) Просто под пивом был, фраза получилась эмоциональной, не будучи таковой. > На счёт 127 - в принципе, макс.размер > ком.строки - 126 символов, т.к. последний > всегда 13. Он и заменяется на ноль :)))))) :))))))))) Макс. длина командной строки - 127, в этом случае символ CR просто не записывается в PSP (поэкспериментируй, чтобы убедиться). И любая командная строка длиннее 127 символов обрубается до 127 символов. Даже в этом случае ничего страшного не произойдет - затрется нулем первый байт кода. В принципе разговор беспредметный. Разные люди - разные подходы. Вообще же мило улыбаешься, продолжай в том же духе! :) |
7in
|
опубликован 11-01-2002 22:59 MSK
Спасибо, тебе того же!!! :))))))))))))))))) |
rivitna
|
опубликован 11-01-2002 23:35 MSK
Скупая слеза упала на китель разведчика... Вежливая нонче пошла молодежь! Кстати, сколько тебе годков по голове настучало? :))) |
7in
|
опубликован 13-01-2002 18:48 MSK
Сейчас посчитаю... Блин, сбился... 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18... 19! А тебе? |
rivitna
|
опубликован 13-01-2002 19:58 MSK
Ай молодца! Да ты будешь, пожалуй, круче навозной кучи! :) Эка тебе годков по голове настучало, хотя... я бы я еще пяток от души добавил. :)))
|
7in
|
опубликован 13-01-2002 22:27 MSK
А куча тебя круче... _ | | | | ( )( )Перевести или сам(о) поймешь? |
rivitna
|
опубликован 13-01-2002 22:49 MSK
Бе-бе-бе-бе-бе!Вчера милиция разогнала демонстрацию коммунистов до 75 км/ч, а ты, уважаемый все тормозишь! :) Фу! Фу! Фу как грубо! Как не по-европейски! Это не высокий штиль! И давно такой таланть к фаллистической живописи? Ладно на заборе, но в форуме!!! Это нонсенс! Я теперь и сам вижу, что обидели мышку, нагадили в норку! Ты близко к сердцу не принимай! Диалектика жизни! А вообще странно с логикой: нарисовать член словно диковинку, а потом приписать: "Перевести или сам(о) поймешь?" :) А самокритичность замечания: "А куча тебя круче..." меня вообще умилила. Ладно дыши ровно, к твоему рисунку совершенно равнодушен! :) |
7in
|
опубликован 13-01-2002 23:22 MSK
Смешной ты, однако, мальчик.... :)))))))) |
rivitna
|
опубликован 13-01-2002 23:52 MSK
Да уж, дяденька, не без этого... :))) |