На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Перед отправкой сообщения внимательно прочтите правила раздела!!!
1. Запрещается обсуждать написание вирусов, троянов и других вредоносных программ!
2. Помните, что у нас есть FAQ раздела Assembler и Полезные ссылки. Посмотрите, возможно, там уже имеется решение вашего вопроса.

3. Настоятельно рекомендуем обратить особое внимание на правила форума, которые нарушаются чаще всего:
  3.1. Заголовок темы должен кратко отражать её суть. Темы с заголовками типа "Срочно помогите!" или "Ассемблер" будут отправляться в Корзину для мусора.
  3.2. Исходники программ обязательно выделяйте тегами [code]...[/code] (одиночные инструкции можно не выделять).
  3.3. Нежелательно поднимать старые темы (не обновлявшиеся более года) без веской на то причины.

Не забывайте также про главные Правила форума!

Добро пожаловать и приятного вам общения!!! ;)
 
Модераторы: Jin X, Qraizer
  
> Создание каталога
    Нужна программа создающая каталог указанный в ком. строке, киньте исходничек плз. , сам бы написал, да опыта нет - пробовал, но не получается...
      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
        В принципе, можно сделать проще :)
        Собственно, вот тебе пример, если нужно создать каталог с длинным именем (кавычки писать не надо)
        ---------------------------------[Режь!]-------------------------------
        .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'.
          Только вместо
          mov dx,si
          правильнее lea dx,[si-1],
          чтобы не пропускать первый символ пути :)
            2 7in:
            Плохому и небезопасному стилю программирования ты учишь товарища.
            Не стоит заниматься модификацией PSP.
            Это может хорошо для вируса, где важен размер, но никак для прикладного программирования.
            Что будет если длина командной строки будет 127?
              :))))))))))))))))))
                Ты не нервничай :)))))
                По поводу lea.... согласен :)
                А по поводу PSP.... ничего страшного тут не происходит.
                На счёт 127 - в принципе, макс.размер ком.строки - 126 символов, т.к. последний всегда 13. Он и заменяется на ноль :))))))
                  > Ты не нервничай :)))))
                  Так вроде и не возбуждался! :)
                  Просто под пивом был, фраза получилась эмоциональной, не будучи таковой.
                  > На счёт 127 - в принципе, макс.размер
                  > ком.строки - 126 символов, т.к. последний > всегда 13. Он и заменяется на ноль :))))))
                  :)))))))))
                  Макс. длина командной строки - 127, в этом случае символ CR просто не записывается в PSP (поэкспериментируй, чтобы убедиться). И любая командная строка длиннее 127 символов обрубается до 127 символов.
                  Даже в этом случае ничего страшного не произойдет - затрется нулем первый байт кода. В принципе разговор беспредметный. Разные люди - разные подходы.
                  Вообще же мило улыбаешься, продолжай в том же духе! :)
                    Спасибо, тебе того же!!! :)))))))))))))))))
                      Скупая слеза упала на китель разведчика... Вежливая нонче пошла молодежь! Кстати, сколько тебе годков по голове настучало? :)))
                        Сейчас посчитаю... Блин, сбился... 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18... 19!
                        А тебе?
                          Ай молодца!
                          Да ты будешь, пожалуй, круче навозной кучи! :)
                          Эка тебе годков по голове настучало, хотя... я бы я еще пяток от души добавил. :)))
                            А куча тебя круче...
                            _
                            | |
                            | |
                            ( )( )
                            Перевести или сам(о) поймешь?
                              Бе-бе-бе-бе-бе!
                              Вчера милиция разогнала демонстрацию коммунистов до 75 км/ч, а ты, уважаемый все тормозишь! :)
                              Фу! Фу! Фу как грубо! Как не по-европейски! Это не высокий штиль!
                              И давно такой таланть к фаллистической живописи? Ладно на заборе, но в форуме!!! Это нонсенс!
                              Я теперь и сам вижу, что обидели мышку, нагадили в норку! Ты близко к сердцу не принимай! Диалектика жизни!
                              А вообще странно с логикой: нарисовать член словно диковинку, а потом приписать:
                              "Перевести или сам(о) поймешь?" :)
                              А самокритичность замечания:
                              "А куча тебя круче..." меня вообще умилила.
                              Ладно дыши ровно, к твоему рисунку совершенно равнодушен! :)
                                Смешной ты, однако, мальчик.... :))))))))
                                  Да уж, дяденька, не без этого... :)))
                                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                  0 пользователей:


                                  Рейтинг@Mail.ru
                                  [ Script execution time: 0,0380 ]   [ 15 queries used ]   [ Generated: 27.04.24, 20:35 GMT ]