Ввод строки...

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

  1. kernel_mode

    kernel_mode New Member

    Публикаций:
    0
    Регистрация:
    6 май 2007
    Сообщения:
    14
    Нужно ввести строку в переменную =). Допустим мы вводим символы в бесконечном цикле, надо после каждого нажатия клавиши записывать символ в строку...
    Вот код (код процедур пропущу):
    Код (Text):
    1. format binary
    2. include 'proc32.inc'
    3. org 0x7C00
    4.  
    5. init:
    6.     mov al, 3Eh
    7.     call write_char
    8.  
    9. start:
    10.     call read_char
    11.     cmp al, 0Dh
    12.     je Enter_lp
    13.     call write_char
    14.     jmp start
    15.  
    16. Enter_lp:
    17.     mov ah, 03h
    18.     int 10h
    19.     call cur_next_line
    20.     mov al, 3Eh
    21.     call write_char
    22.     jmp start
    Нужно как-то зарезервировать место под 256 символов, и после каждого ввода записывать символ в строку.
     
  2. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    kernel_mode
    В стеке?
    Код (Text):
    1. sub  esp,256
    2. mov  ebp,esp
     
  3. Vov4ick

    Vov4ick Владимир

    Публикаций:
    0
    Регистрация:
    8 окт 2006
    Сообщения:
    581
    Адрес:
    МО
    Как я понял, это MBR (или boot) :) По адресу 0:600h есть как раз 256 байт свободного места.
    А с include 'proc32.inc' это влезет в 400 байт?
    Перед 0:7c00h также есть некоторое количество места (там распологается стек), но сколько, я не знаю.
     
  4. kernel_mode

    kernel_mode New Member

    Публикаций:
    0
    Регистрация:
    6 май 2007
    Сообщения:
    14
    Ну, весь бинарник занимает примерно 100-150 байт =)