буферизированный ввод с клавиатуры (tasm)

Модератор: Модераторы разделов

skillergti
Сообщения: 34
ОС: slackware

буферизированный ввод с клавиатуры

Сообщение skillergti »

Здравствуйте.
Пишу программку на ассемблере, компилирую в tasm2.
Используются dos-функции ввода-вывода.
Никак не могу осуществить ввод строки с клавиатуры, гугл не помог =/

Код такой:

Код: Выделить всё

    model    tiny
    DATASEG

exCode    DB    0
Msg1    DB    'Введите 2 десятичных числа, A+B',13,10,'$'
Msg2    db    'A: $'
Msg3    db    'B: $'
var_a    db    0
var_b    db    0
buf  db 5  dup(0)
    CODESEG
org    100h
Start:
    mov    ah,9h
    mov    dx,offset Msg1
    int    21h
    mov    dx,offset Msg2
    int    21h
    mov   buf[0],5
    lea    dx,buf
    mov    ah,Ah
    int    21h

Exit:
    mov    ah,04Ch
    mov    al,[exCode]
    int    21h
    END Start

В итоге ввод вообще не предлагается, вместо него выводит что-то в непонятной кодировке, а в конце этой строчки указывается Not enough memory.

В чём тут ошибка?
ps: первый день знакомства с ассемблером )))
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: буферизированный ввод с клавиатуры

Сообщение Portnov »

Эм, а при чём тут Linux?
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
skillergti
Сообщения: 34
ОС: slackware

Re: буферизированный ввод с клавиатуры

Сообщение skillergti »

Portnov писал(а):
09.04.2009 16:48
Эм, а при чём тут Linux?

Это так принципиально важно?

ps: В любом случае, уже не важно.
Проблема решена.


Код: Выделить всё

    model    tiny
    DATASEG

exCode    DB    0
Msg1    DB    'Введите 2 десятичных числа, A+B',13,10,'$'
Msg2    db    'A: $'
Msg3    db    'B: $'
var_a    db    0
var_b    db    0
buf  db 5  dup(?)
    CODESEG
org    100h
Start:
    mov    ah,9h
    mov    dx,offset Msg1
    int    21h
    mov    dx,offset Msg2
    int    21h

    mov   buf[0],5
    lea    dx,buf
    mov    al,var_a
    mov    ah,0Ah
    int    21h

Exit:
    mov    ah,04Ch
    mov    al,[exCode]
    int    21h
    END Start
Спасибо сказали:
Аватара пользователя
RasenHerz
Сообщения: 1341
ОС: Arch Linux amd64

Re: буферизированный ввод с клавиатуры

Сообщение RasenHerz »

skillergti писал(а):
09.04.2009 16:57
Portnov писал(а):
09.04.2009 16:48
Эм, а при чём тут Linux?

Это так принципиально важно?

принципиально - это абсолютно разные платформы.
Спасибо сказали: