WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  ASM
  Создание каталога

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   Создание каталога
Apelya опубликован 05-01-2002 12:58 MSK   Click Here to See the Profile for Apelya   Click Here to Email Apelya  
Нужна программа создающая каталог указанный в ком. строке, киньте исходничек плз. , сам бы написал, да опыта нет - пробовал, но не получается...
rivitna опубликован 05-01-2002 14:57 MSK     Click Here to See the Profile for rivitna  Click Here to Email rivitna     
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     Click Here to See the Profile for 7in  Click Here to Email 7in     
В принципе, можно сделать проще :)
Собственно, вот тебе пример, если нужно создать каталог с длинным именем (кавычки писать не надо)

---------------------------------[Режь!]-------------------------------
.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     Click Here to See the Profile for rivitna  Click Here to Email rivitna     
Только вместо
mov dx,si
правильнее lea dx,[si-1],
чтобы не пропускать первый символ пути :)
rivitna опубликован 05-01-2002 22:42 MSK     Click Here to See the Profile for rivitna  Click Here to Email rivitna     
2 7in:
Плохому и небезопасному стилю программирования ты учишь товарища.
Не стоит заниматься модификацией PSP.
Это может хорошо для вируса, где важен размер, но никак для прикладного программирования.
Что будет если длина командной строки будет 127?
7in опубликован 10-01-2002 21:23 MSK     Click Here to See the Profile for 7in  Click Here to Email 7in     
:))))))))))))))))))
7in опубликован 10-01-2002 21:24 MSK     Click Here to See the Profile for 7in  Click Here to Email 7in     
Ты не нервничай :)))))

По поводу lea.... согласен :)
А по поводу PSP.... ничего страшного тут не происходит.
На счёт 127 - в принципе, макс.размер ком.строки - 126 символов, т.к. последний всегда 13. Он и заменяется на ноль :))))))

rivitna опубликован 10-01-2002 23:51 MSK     Click Here to See the Profile for rivitna  Click Here to Email rivitna     
> Ты не нервничай :)))))

Так вроде и не возбуждался! :)
Просто под пивом был, фраза получилась эмоциональной, не будучи таковой.

> На счёт 127 - в принципе, макс.размер
> ком.строки - 126 символов, т.к. последний > всегда 13. Он и заменяется на ноль :))))))

:)))))))))
Макс. длина командной строки - 127, в этом случае символ CR просто не записывается в PSP (поэкспериментируй, чтобы убедиться). И любая командная строка длиннее 127 символов обрубается до 127 символов.
Даже в этом случае ничего страшного не произойдет - затрется нулем первый байт кода. В принципе разговор беспредметный. Разные люди - разные подходы.

Вообще же мило улыбаешься, продолжай в том же духе! :)

7in опубликован 11-01-2002 22:59 MSK     Click Here to See the Profile for 7in  Click Here to Email 7in     
Спасибо, тебе того же!!! :)))))))))))))))))
rivitna опубликован 11-01-2002 23:35 MSK     Click Here to See the Profile for rivitna  Click Here to Email rivitna     
Скупая слеза упала на китель разведчика... Вежливая нонче пошла молодежь! Кстати, сколько тебе годков по голове настучало? :)))
7in опубликован 13-01-2002 18:48 MSK     Click Here to See the Profile for 7in  Click Here to Email 7in     
Сейчас посчитаю... Блин, сбился... 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     Click Here to See the Profile for rivitna  Click Here to Email rivitna     
Ай молодца!
Да ты будешь, пожалуй, круче навозной кучи! :)
Эка тебе годков по голове настучало, хотя... я бы я еще пяток от души добавил. :)))


7in опубликован 13-01-2002 22:27 MSK     Click Here to See the Profile for 7in  Click Here to Email 7in     
А куча тебя круче...
_
| |
| |
( )( )

Перевести или сам(о) поймешь?

rivitna опубликован 13-01-2002 22:49 MSK     Click Here to See the Profile for rivitna  Click Here to Email rivitna     
Бе-бе-бе-бе-бе!

Вчера милиция разогнала демонстрацию коммунистов до 75 км/ч, а ты, уважаемый все тормозишь! :)

Фу! Фу! Фу как грубо! Как не по-европейски! Это не высокий штиль!
И давно такой таланть к фаллистической живописи? Ладно на заборе, но в форуме!!! Это нонсенс!

Я теперь и сам вижу, что обидели мышку, нагадили в норку! Ты близко к сердцу не принимай! Диалектика жизни!

А вообще странно с логикой: нарисовать член словно диковинку, а потом приписать:
"Перевести или сам(о) поймешь?" :)

А самокритичность замечания:
"А куча тебя круче..." меня вообще умилила.

Ладно дыши ровно, к твоему рисунку совершенно равнодушен! :)

7in опубликован 13-01-2002 23:22 MSK     Click Here to See the Profile for 7in  Click Here to Email 7in     
Смешной ты, однако, мальчик.... :))))))))
rivitna опубликован 13-01-2002 23:52 MSK     Click Here to See the Profile for rivitna  Click Here to Email rivitna     
Да уж, дяденька, не без этого... :)))

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.