Возврат переменной

Тема в разделе "WASM.WIN32", создана пользователем DioNNiS, 22 окт 2006.

  1. DioNNiS

    DioNNiS New Member

    Публикаций:
    0
    Регистрация:
    8 сен 2006
    Сообщения:
    25
    Нужно средствами асемблера (при помощи прирывания Bios) ввести строку. Вот что у меня есть:
    Код (Text):
    1. #include<stdio.h>
    2.  
    3. #define SIZE_CMD 100
    4.  
    5. int main (void)
    6. {
    7.     char string[SIZE_CMD];
    8.    
    9.  
    10.     _asm {
    11.     mov     dx, offset string
    12.     mov ah, 0ah
    13.     int     21h
    14.    
    15.     }
    16.  
    17.     printf("\n");
    18.     for(int i=0; i<SIZE_CMD; i++)
    19.     {
    20.         printf("%c",string[i]);
    21.     }
    22.     getchar();
    23.  
    24.     return 0;
    25. }
    Нужно вывести только введенные символы.И сам по себе массив string таким образом заполняться не хочет....
     
  2. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    вроде же в первый байт надо ложить размер массива
     
  3. Demon666

    Demon666 New Member

    Публикаций:
    0
    Регистрация:
    19 май 2006
    Сообщения:
    99
    +
    Цитата:
    После нажатия клавиши Enter строка (включая последнийсимвол CR (0Dh)) записывается в буфер, начиная с третьего байта.
    Во второй байт записывается длина реально введенной строки без учета последнего CR.

    P. S.
    Зубков С. В.
    4.4 Ввод с клавиатуры
    4.4.1 Средства DOS