буффер

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

  1. rubic_

    rubic_ Женя

    Публикаций:
    0
    Регистрация:
    9 июл 2007
    Сообщения:
    121
    Адрес:
    Омск
    Код (Text):
    1.     .model  small
    2. code    segment
    3.     assume  CS:code,DS:data
    4. main    proc
    5.     mov ax,data
    6.     mov ds,ax
    7. begin:
    8.     mov ax,0003h
    9.     int 10h
    10.     mov ah,09h
    11.     mov dx,offset msg
    12.     int 21h
    13.  
    14.     mov ah,03Fh
    15.     mov cx,10
    16.     mov dx,offset buf
    17.     int 21h
    18. ;как правильно считать количество введенных символов
    19. ;если я ввожу 5 символов как сделать так чтобы при
    20. ;выводе на buf вывелись только введенные символы, а не весь буфер
    21. ;и почему происходит так, что если я ввожу инфы больше чем на 10 байт
    22. ; при следующей загрузке проги в память выводятся символы,
    23. ;которые имели порядок больше 10?
    24.  
    25.     mov ax,4C00h
    26.     int 21h
    27. main    endp
    28. code    ends
    29.  
    30. data    segment
    31. msg db  'Enter your string: ',10,13,'$'
    32. buf db  10 dup (0) 
    33. data    ends
    34. stk segment stack  
    35.     db  128 dup (?)
    36. stk ends
    37. end main
     
  2. t00x

    t00x New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    1.921
    Код (Text):
    1.     mov ah,03Fh
    2.     mov cx,10
    3.     mov dx,offset buf
    4.     int 21h
    DOS Fn 3fH: читать файл через описатель

    функция DOS Fn 0aH: ввод строки в буфер поможет
     
  3. JAPH

    JAPH New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2007
    Сообщения:
    124
    Нихрина вопроса не понял :)
    3Fh - хорошая функция, если bx == 0. А у rubic_ там что?
    В AX что-то возвращается :)
    Точно не понял. После ввода строки откуда-то (bx=?) сразу выход из программы. А как вы хотите вывести buf?
    Это как? Как связаны последовательные загрузки программы?