Turbo Debugger for Dos из под Windows

Тема в разделе "WASM.BEGINNERS", создана пользователем Pack, 24 июл 2008.

  1. Pack

    Pack New Member

    Публикаций:
    0
    Регистрация:
    24 июл 2008
    Сообщения:
    16
    Здравствуйте! Нужен совет, дело в том что после попытки запуска приложения в отладчике и его завершения, обратно отладчику не передается управление а просто происходит выходи из эмуляции DOS. В чем причина может кто сталкивался. Turbo Debugger нужен по учебе. Если не затруднит дайте ссылку где можно почитать по этому вопросу!
     
  2. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    скорее всего хитрость (или ошибка) в самом приложении
     
  3. Pack

    Pack New Member

    Публикаций:
    0
    Регистрация:
    24 июл 2008
    Сообщения:
    16
    Приложение примитивное типа Hello world, честно сказать начинаю грешить на то, что эмуляция DOS в Windows не грамотно организованно, или я чего то пока не знаю. А да еще вот что во время выполнения программы если ее прервать с помощью CTRL+Break то отладчик выдает мне окно CPU, а если продолжить выполнения скажем считать символ, то программа завершает свою работу вместе с отладчиком Turbo Debagger.
     
  4. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    покажи текст программы. чтобы завалить дос достаточно одной неверной команды, так что сложность тут непричем.
     
  5. Pack

    Pack New Member

    Публикаций:
    0
    Регистрация:
    24 июл 2008
    Сообщения:
    16
    .model small
    .stack 100h
    .data
    key db ?
    extended dw ? ; 1=true, 0=false
    .code
    GetKey proc
    mov extended,0
    mov ah,8
    int 21h
    cmp al,0
    jne LI
    int 21h
    mov extended,1
    LI:
    mov key,al
    ret
    GetKey endp
    end GetKey

    При Ассемблировании использовал
    tasm /zi
    tlink /v/3 - хотя пробовал и без 3 и с ней все одно не получаеться
     
  6. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    а какой сервис вызывается? (значение ax ведь меняется при первом вызове сервиса DOS)
     
  7. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    и еще непонятно: если GetKey - это просто подпрограмма (процедура/функция), то она должна из чего-то вызываться, а если это основная программа, то кто нам разрешил завершать ее командой RET? mov ax,4C00h/int 21h однако...
     
  8. Pack

    Pack New Member

    Публикаций:
    0
    Регистрация:
    24 июл 2008
    Сообщения:
    16
    да это программа взята из учебника: чтение управляющих клавиш с помощью INT21h. В целом это не важно я пробовал так же и просто Hello world в отладчике выполнить там вообще вот такой результа: Turbo Debugger for DOS Процессор NTVDM обнаружил недопустимую инструкцию. CS:1823 IP:0000 OP:c7 6e 6c 6c 6f для завершения работы приложения нажмите кнопку "Закрыть". Блин Бред сама программа Hello World работает и запускаеться а в отладчике она не работает! Может мне на другой машине попробовать ?
     
  9. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    нет. нужно сделать правильно, а для этого нужно четко представлять что, как и почему делается. давай хеловорд в студию!
     
  10. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    (см. сообщ. об ошибке в своем посте) имеет представление ASCII
    , что наводит на мысль, что начало фразы "Hello..." было испорчено, а затем туда было передано управление.

    если программа из учебника и работает сама по себе - это еще не факт, что она правильная. такая ситуация может произойти из-за "неустановки" сегментных регистров - при запуске в консоли повезло, а из под отладчика - нет. в любом случае нужен код для анализа.
     
  11. Pack

    Pack New Member

    Публикаций:
    0
    Регистрация:
    24 июл 2008
    Сообщения:
    16
    title Hello World Program
    .model small
    .stack 100h
    .data
    message db "Hello, world!", 0dh, 0ah, '$'
    .code
    main proc
    mov ax, @data
    mov ds, ax
    mov ah, 9
    mov dx, offset message
    int 21h
    mov ax, 4C00h
    int 21h
    main endp
    end main

    во но не в этом дело, ведь она работает эта программа а отладчик падает!
     
  12. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    ну, тогда обнови отладчик. я только что скомпилировал твой пример тупо tasm h / tlink h и выполнил в отладчике под хрюшей. ничего не упало...

    [​IMG]
     
  13. Pack

    Pack New Member

    Публикаций:
    0
    Регистрация:
    24 июл 2008
    Сообщения:
    16
    где взять ? ссылку кинь, а то я предыдущую тоже с сети брал да видно с ошибкой!
     
  14. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    ну, здесь такое не приветствуется...
     
  15. Pack

    Pack New Member

    Публикаций:
    0
    Регистрация:
    24 июл 2008
    Сообщения:
    16
    Извени понил, забыл сам же читал правила к форумчанам. Ладно но версию пакета Tasm можешь сказать ?
     
  16. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
  17. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    Pack
    можно debug.com использовать для отладки (в составе DOS есть)
     
  18. Pack

    Pack New Member

    Публикаций:
    0
    Регистрация:
    24 июл 2008
    Сообщения:
    16
    Да знаю пробовал, просто по учебе надо именно Turbo Debegger, блин я с этими пакетами чет не пойму при установке пакета Tasm 5.0 он ругаеться на файл Unpak.exe, а да еще вот что пробовал старый турбо отладчик 3, так там и правда работает!
     
  19. Pack

    Pack New Member

    Публикаций:
    0
    Регистрация:
    24 июл 2008
    Сообщения:
    16
    только что проверил на другой машине там Turbo Debegger 5.0 работает а на моей не хочет правельно работать просто вылитает, такое бывает?
     
  20. Pack

    Pack New Member

    Публикаций:
    0
    Регистрация:
    24 июл 2008
    Сообщения:
    16
    в чем еще может быть причина на одной машине все работает как надо на моей не хочет. Мой комп новый а у брата старенький но там все работает, винду только что на своем перебил но у меня та же песьня с Turbo Debugger.