И снова о DTA

Тема в разделе "WASM.ASSEMBLER", создана пользователем _mm_, 17 май 2011.

  1. _mm_

    _mm_ New Member

    Публикаций:
    0
    Регистрация:
    28 дек 2010
    Сообщения:
    45
    Скорее всего, простая вещь, но никак не могу разобраться.

    PSP - префикс программного сегмента. По адресу 80h находится по умолчанию DTA.

    Вот слова "по умолчанию" меня сильно настораживают.

    Где находится DTA при выполнении простой программы "Hello, world!"? На 80h? Не похоже, вот простой пример:

    Код (Text):
    1. CSEG segment
    2. assume cs:CSEG, ds:CSEG, es:CSEG, ss:CSEG
    3. org 100h
    4.  
    5. Begin:
    6.  
    7.     mov ah,1Ah
    8.     mov dx,80h
    9.     int 21h
    10.  
    11.     mov ah,9
    12.     mov dx,offset Message
    13.     int 21h
    14.  
    15.     int 20h
    16.  
    17. Message db 'Hello, world!$'
    18.  
    19. CSEG ends
    20. end Begin
    При попытке установить принудительно DTA программа не работает.

    Как узнать dx (адрес DTA) в данном случае, чтобы программа работала по заданному алгоритму?
     
  2. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.623
    Адрес:
    Russia
    у меня все тип топ

    [​IMG]
     
  3. _mm_

    _mm_ New Member

    Публикаций:
    0
    Регистрация:
    28 дек 2010
    Сообщения:
    45
    Спасибо! Перезагрузился, заработало. Такое чувство, что Far (я работаю в нём) какой-то мусор в памяти держит...