Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: как ввести числа с клавиатуры  (Прочитано 27026 раз)
0 Пользователей и 1 Гость смотрят эту тему.
bolonka
Интересующийся

ru
Offline Offline
Пол: Женский

« : 18-05-2009 17:54 » 

как можно ввести числа с клавиатуры и запомнить их
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #1 : 18-05-2009 19:42 » 

Вызывать прерывание (насколько я помню 16h) с определенным параметром в регистре ah. Тебе будет приходить обратно код нажатой клавиши и ее позиционный код. Останется только записать в память с регистра. Более корректную информацию можно найти в любом нормальном учебнике по ассемблеру.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 19-05-2009 09:08 » 

Дополню.
Считываешь посимвольно и запоминаешь. После окончания ввода преобразуешь текстовое представление числа в двоичное.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
bolonka
Интересующийся

ru
Offline Offline
Пол: Женский

« Ответ #3 : 20-05-2009 05:07 » 

я ввожу на экране число а выводит он 0 почему то
Записан
Serg79
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 20-05-2009 07:22 » 

я ввожу на экране число а выводит он 0 почему то
Странно, мне то же не понятно почему 0 выводит.
Записан
bolonka
Интересующийся

ru
Offline Offline
Пол: Женский

« Ответ #5 : 20-05-2009 07:29 » 

я так думаю что я неправильно в коде перевожу в число
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #6 : 20-05-2009 07:44 » 

а слабо код показать?
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
bolonka
Интересующийся

ru
Offline Offline
Пол: Женский

« Ответ #7 : 20-05-2009 07:46 » 

Код:
.model small
.386
wrdig macro dig
local div_loop, pr_loop
 xor cx, cx
 mov ax, dig
 mov dl, 10
div_loop:
 div dl
 push ax
 inc cx
 mov ah, 0
 test ax, ax
 jnz div_loop
pr_loop:
 pop ax
 mov dl, ah
        add dl, 30h
        mov ah, 2
        int 21h
 loop pr_loop
        endm

wrchr macro char
        mov ah,2
        mov dl, char
        int 21h
        endm

assume  cs:cseg, ds:cseg
cseg  segment
 org 100h
start:
mov ax, @data
 mov ds, ax
 
 mov ax, 3
 int 10h
 
 lea dx, msg_input1
 mov ah, 9
 int 21h
CALL InputInAX
mov  number1,ax
lea dx, msg_input2
 mov ah, 9
 int 21h
CALL InputInAX
mov  number2,ax
lea dx, msg_input3
 mov ah, 9
 int 21h
CALL InputInAX
mov  number3,ax
mov al,13
int 29h
mov al,10
int 29h
inputInAX proc
  pusha
   mov cx, 10
   xor si, si
p1:
   mov ah, 8
   int 21h
   cmp al, 13
   je  end_of_input
   cmp al, '0'
   jb  p1
   cmp al, '9'
   ja  p1
p0:
     sub al, '0'
     xor ah, ah
     mov di, ax
       mov ax, si
       mul cx
       jc end_of_input
       mov si, ax
       mov ax, di
       add al, '0'
       int 29h
     add si, di
   jmp p1   
end_of_input: 
   mov ax, si
  pop  di
  pop  si
  pop  dx
  pop  cx
inputInAX endp
mov al,13
int 29h
mov al,10
int 29h

mov di, number1
 wrdig di
 wrchr ' '

 mov si, 1
 wrdig si
 wrchr ' '
 mov  bx, 2
m1:

 mov ax, di
 mov di, si
 add si, ax
 wrdig si
 wrchr ' '
 inc bx
 cmp bx, 10
     jb m1

Exit:  mov ax,4c00h
 int 21h

cseg ends
.data
msg_input1   db 'Vvedite chislo X1: $'
msg_input2   db 13,10, 'Vvedite chislo X2: $'
msg_input3   db 13,10,'Vvedite kolichestvo: $'

  number1      dw 0
 
  number2      dw 0
  number3      dw 0
 end start
« Последнее редактирование: 20-05-2009 08:22 от Джон » Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 20-05-2009 08:12 » 

а расскажи-ка
Код:
p0:
      sub al, '0'
      xor ah, ah
      mov di, ax
      mov ax, si
      mul cx
      jc end_of_input
      mov si, ax
      mov ax, di
      add al, '0'
      int 29h
     add si, di
что ты здесь делаешь?

ps оформляй код тегами [code][/code]
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
bolonka
Интересующийся

ru
Offline Offline
Пол: Женский

« Ответ #9 : 20-05-2009 08:23 » 

хороший вопрос, я вообще уже не понимаю что я делаю и для чего. Ну типа там данные в число преобразовываться должны
Записан
bolonka
Интересующийся

ru
Offline Offline
Пол: Женский

« Ответ #10 : 20-05-2009 08:34 » 

наверное я уже все в коде понапутала что уже не расспутать
Записан
bolonka
Интересующийся

ru
Offline Offline
Пол: Женский

« Ответ #11 : 20-05-2009 08:56 » 

я знаю что я там делаю и мне это не надо.
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #12 : 20-05-2009 09:08 » 

тихо сам с собою я веду беседу
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
bolonka
Интересующийся

ru
Offline Offline
Пол: Женский

« Ответ #13 : 20-05-2009 09:19 » 

мне уже плохо от этой задачи, а сделать надо.
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #14 : 20-05-2009 09:20 » 

Внезапно меня осенило. Уточнённая формула Колмогорова:

[A => B] и [B понятно]; тогда A.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Вад
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #15 : 20-05-2009 09:32 » 

bolonka, попробуй откомментировать код строчка за строчкой на уровне "действие и результат"
Например:
xor ah, ah ; ah = 0

Потом можно попробовать пройтись по коду с набором тестовых данных (на бумажке или в отладчике) и посмотреть, что происходит с данными и что получается на выходе.
Записан
Serg79
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #16 : 20-05-2009 10:29 » 

bolonka, а Ты он или она?

P.S. Ты уж извини меня за такой вопрос, это для того что бы понять с чем Мы имеем дело. Улыбаюсь
Записан
bolonka
Интересующийся

ru
Offline Offline
Пол: Женский

« Ответ #17 : 20-05-2009 15:35 » 

Я вообщето - ОНА, это меняет дело???
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #18 : 20-05-2009 16:00 » 

bolonka, да не обращай внимания, нам без разницы он или она ))

Serg79, а действительно, к чему такой вопрос ?
Записан

Serg79
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #19 : 20-05-2009 16:04 » 

bolonka, да не обращай внимания, нам без разницы он или она ))

Serg79, а действительно, к чему такой вопрос ?
Ну теперь хоть понятно, с вероятностью 90%, что разбераться Она с этим вопросом сама не будет и ждет здесь готовое решение.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #20 : 20-05-2009 16:09 » 

Serg79, откуда такие ассоциации ? Улыбаюсь
Записан

Serg79
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #21 : 20-05-2009 16:13 » 

Вот пример программы "Эхо":
Код:
title Программа Эхо

.model small
.stack 100h

.data
help db "Программа Эхо.",0Ah,0Dh,'$'

.code
main proc
mov ax,@data
mov ds,ax

mov ah,9
mov dx,offset help
int 21h

mov cx,10
@1: mov ah,1
int 21h
mov dl,al
mov ah,2
int 21h
loop @1

mov ax,4C00h
int 21h
main endp
end main
Программа вводит 10 символов из стандартного ввода и выводит их (эхо) на стандартный вывод. Используются функции 1 и 2 из прерывания INT 21.
Записан
Serg79
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #22 : 20-05-2009 16:16 » 

Serg79, откуда такие ассоциации ? Улыбаюсь
Блин Алексей1153++, видно же по содержимому топика.

И с большой долей вероятности могу сказать, что лабы Ассемблеру она уже сдала и ей по барабану теперь на эту тему, и уже тем более  на ассемблер. Что, съел?


Но bolonka не забывай, Тебе еще экзамен по данному предмету сдавать  RTFM .

Так что приходи, всегда готовы помочь  Что, съел?
« Последнее редактирование: 20-05-2009 16:18 от Serg79 » Записан
bolonka
Интересующийся

ru
Offline Offline
Пол: Женский

« Ответ #23 : 20-05-2009 16:24 » 

спасибо за помощь огромное, но я экзамены ни какие не сдаю, с чего вы взяли что я где то учусь???И это лабораторная работа???
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #24 : 20-05-2009 16:30 » 

Serg79, шо, съел, телепат ? Ага
Записан

Serg79
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #25 : 20-05-2009 16:33 » 

Serg79, шо, съел, телепат ? Ага
Случается что и 10% срабатывает.  Гы-гы-гы
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines