0ah int 21h не работает в Windows?

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

  1. gav

    gav New Member

    Публикаций:
    0
    Регистрация:
    1 окт 2006
    Сообщения:
    4
    Транслирую в TASM5.0 (tasm.exe):
    masm
    model small
    stack 100h
    .data
    max db 255
    len db 0
    stroka db 256 dup(?)
    .code
    main:
    mov ax,@DATA
    mov ds,ax
    mov dx, offset max
    mov ax, 0ah
    int 21h

    mov ax,4ch
    int 21h
    end main
    После первого прерывания int21h программа вылетает. Запускаю в Windows XP, может, в этом дело?
     
  2. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    А может в этом mov ax,@DATA ?
     
  3. gav

    gav New Member

    Публикаций:
    0
    Регистрация:
    1 окт 2006
    Сообщения:
    4
    А что тут не так?
     
  4. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    gav
    :)))
    Таже грабля,что и у меня в 2003м была! :) Прочитал в Питере Абеле и траблу решил!
     
  5. gav

    gav New Member

    Публикаций:
    0
    Регистрация:
    1 окт 2006
    Сообщения:
    4
    EvilsInterrupt, не понял, каким образом решил?:)
     
  6. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    Вчера спать хотелось.
    Ошибка в строчке
    mov ax, 0ah
    заменить на
    mov ax, 0A00h
    или
    mov ah, 0Ah
     
  7. gav

    gav New Member

    Публикаций:
    0
    Регистрация:
    1 окт 2006
    Сообщения:
    4
    Pavia
    Да, все понятно, спасибо, досадная ошибка :)