dos, windows, сегменты, смещения...путаница сплощная...подскажите please

Тема в разделе "WASM.BEGINNERS", создана пользователем Viktorio, 25 мар 2006.

  1. Viktorio

    Viktorio New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2006
    Сообщения:
    4
    Начал изучать асм, на сталкнулся с такой проблемой как сегменты, смещения, стек и т.п.



    Попровьте если я ошибаюсь.



    В винде НЕ используются сегменты и смещения (тока в досе).

    в винде используется 32-битные регистры и все остальные тоже.

    в винде используется так называемый стек, куда временно ложаться значения с регистров командой push и извлекаются командой pop.

    в винде НЕ используются команды int 21 и тому подобные (тока в ддосе).



    подскажите что еще в программировании под win32 не нужно учить...

    может кто знает какой-нибуть нормальный справочник для masm под виндовс с описанием основных команд, желательно с примерами?



    заранее всем спасибо
     
  2. Vasil

    Vasil Василь

    Публикаций:
    0
    Регистрация:
    7 янв 2006
    Сообщения:
    228
    Адрес:
    Ижевск
    "подскажите что еще в программировании под win32 не нужно учить..." - главное практика...



    Такие вопросы, которые ты задаёшь - ОБЩИЕ, и относятся они не только к ассемблеру, но и к C++, Delphi, VB, ...



    Читай следующие книги: Дж. Харт, Джеффри РИХТЕР, ...



    http://www.natahaus.ru



    PS: Вопрос - ответ, это не реклама.
     
  3. Viktorio

    Viktorio New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2006
    Сообщения:
    4
    на natahaus.ru колом все...ничего хорошего я там не нашел.

    Зачем мне эти устаревшие книги под дос? мне канкретно под WINDOWS нужно...не может быть чтоб никто не знал...дайте линк
     
  4. Vasil

    Vasil Василь

    Публикаций:
    0
    Регистрация:
    7 янв 2006
    Сообщения:
    228
    Адрес:
    Ижевск
    Плохо смотрел или не зарегистрировался...
     
  5. mix_mix

    mix_mix Михаил

    Публикаций:
    0
    Регистрация:
    8 окт 2005
    Сообщения:
    277
    Адрес:
    Токио
    <li> В винде НЕ используются сегменты и смещения (тока в досе).

    Ну типа того, только при Win имеются еще сегменты gs и fs, последний содержит много вкусностей (SEH, PEB)

    <li> В винде используется 32-битные регистры и все остальные тоже.

    Ну тут ты прав

    <li> В винде используется так называемый стек, куда временно ложаться значения с регистров командой push и извлекаются командой pop.

    Тут ты тоже прав, но в досе стек тоже присутствует, он присутствует везде, это не завит от ОС

    <li> В винде НЕ используются команды int 21 и тому подобные (тока в ддосе).

    Тоже типа того. Хотя вместо вызовов API функций, ты можешь использовать прерывание 2Eh. Я еще слышал про прерывания 2Ah (системный таймер) и 2Dh (отладчик уровня ядра)

    <li> подскажите что еще в программировании под win32 не нужно учить...

    Управление внешними устройствами, полностью работа с портами, резидентные программы и проч.

    <li> может кто знает какой-нибуть нормальный справочник для masm под виндовс с описанием основных команд, желательно с примерами?

    Владислав Пирогов. Ассемблер для Windows. <- респект

    MSDN <- оч. ценная вещь

    Vasil

    Такие вопросы, которые ты задаёшь - ОБЩИЕ, и относятся они не только к ассемблеру, но и к C++, Delphi, VB, ...

    Когда ты пишешь на паскале под дос, тебе как-то, где у тебя данные: в ds или в es, что за прерывание 20h etc.
     
  6. brat315

    brat315 New Member

    Публикаций:
    0
    Регистрация:
    29 янв 2006
    Сообщения:
    21
    Адрес:
    Russia
    Во первых стек используется как в Dos так и WIN32,смешения также и винде имеются,различается в основном адрессация,допусстим в "Dose" адрессация сегментная, а в WIN32 страничная, так же в винде используются 32-разрядные регисттры, а в ДОС-16 разрядные.

    Чем отличается сегментная адрессация от страничной читай в литературе.