DOS in Windows или GetDate...

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

  1. ltshck

    ltshck New Member

    Публикаций:
    0
    Регистрация:
    5 ноя 2007
    Сообщения:
    195
    mov ah, 2ah
    int 21h

    жду

    CX = year (1980-2099)
    DH = month
    DL = day
    ---DOS 1.10+---
    AL = day of week (00h=Sunday)



    делаю это в exeшнике, окомилированном под windows.

    sybsystem = windows , а не console...

    так вот вопрос, можно ли под windows както также быстро и легко получить дату?

    ecx = year
    edx = month
    ebx = day

    ну или чтто такое?

    GetSystemTime() не катит...

    проще есть чтото?
     
  2. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    system("date"); ?
     
  3. ltshck

    ltshck New Member

    Публикаций:
    0
    Регистрация:
    5 ноя 2007
    Сообщения:
    195
    dat db "date";
    invoke system, dat;

    так чтоли?..

    по моему не то.
    не катит. у нас не консоль...

    мне бы команду на асме , прерывание какое бы, чтобы дату разсовало по регистрам как в досе...

    только ехе-шник этот чтобы под виндой работал а не в дос.

    см. subsybtem..
     
  4. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    GetLocalTime

    много ли ты получаешь, кроме STATUS_ACCESS_VIOLATION?)
     
  5. ltshck

    ltshck New Member

    Публикаций:
    0
    Регистрация:
    5 ноя 2007
    Сообщения:
    195
    так че?

    неззя вызывать прерывания дос в windows executable???
     
  6. Vov4ick

    Vov4ick Владимир

    Публикаций:
    0
    Регистрация:
    8 окт 2006
    Сообщения:
    581
    Адрес:
    МО
    Ну так это ж венда, а не ДОС. Вендовые функции обмениваются с программой параметрами в манере, сходной с языком Ц. Прерывания в винде обычно недоступны для простых смертных программ :derisive:
     
  7. ltshck

    ltshck New Member

    Публикаций:
    0
    Регистрация:
    5 ноя 2007
    Сообщения:
    195
    >> "Прерывания в винде обычно недоступны для простых смертных программ :derisive:"

    интересует НЕОБЫЧНОЕ поведение.
     
  8. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Это какое ?
     
  9. ltshck

    ltshck New Member

    Публикаций:
    0
    Регистрация:
    5 ноя 2007
    Сообщения:
    195
    ну какие прерывания все еще работают в Windows?..
    например инициирование вызовов функций ядра...
    что-нить хотя бы вроде jmp far ptr FFFF:0000 чтоли...

    каким нить этаким способом получить current date
     
  10. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Наскока тебе низкий уровень нужен ?
     
  11. ltshck

    ltshck New Member

    Публикаций:
    0
    Регистрация:
    5 ноя 2007
    Сообщения:
    195
    blin... raskladku zaklinilo...

    nu v OllyDbg predstavte sebe disasm calc.exe , vot tam menyam jmp xxx na jmp <our-function>
    i v <our-function>
    mov ah, 2ah
    int 21h

    nu ili kak to tak, 4tobi legko polu4it current year , month, day srazu raspihannie po registram.
     
  12. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Придельно быстро из KUSER_SHARED_DATA, но там в сотнях наносекунд от 1601 года.
    kernel32!GetLocalTime отсюда и берёт время, вызывая далее ntdll.RtlTimeToTimeFields
    На самом низком уровне считай из RTC.
     
  13. ltshck

    ltshck New Member

    Публикаций:
    0
    Регистрация:
    5 ноя 2007
    Сообщения:
    195
    ога. сойдет. спасибо.

    так прерывания в Windows вообще значит никогда не работают?

    ни int 100h никакое?
     
  14. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"