bolonka
Интересующийся
Offline
Пол:
|
|
« : 18-05-2009 17:54 » |
|
как можно ввести числа с клавиатуры и запомнить их
|
|
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #1 : 18-05-2009 19:42 » |
|
Вызывать прерывание (насколько я помню 16h) с определенным параметром в регистре ah. Тебе будет приходить обратно код нажатой клавиши и ее позиционный код. Останется только записать в память с регистра. Более корректную информацию можно найти в любом нормальном учебнике по ассемблеру.
|
|
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #2 : 19-05-2009 09:08 » |
|
Дополню. Считываешь посимвольно и запоминаешь. После окончания ввода преобразуешь текстовое представление числа в двоичное.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
bolonka
Интересующийся
Offline
Пол:
|
|
« Ответ #3 : 20-05-2009 05:07 » |
|
я ввожу на экране число а выводит он 0 почему то
|
|
|
Записан
|
|
|
|
Serg79
|
|
« Ответ #4 : 20-05-2009 07:22 » |
|
я ввожу на экране число а выводит он 0 почему то
Странно, мне то же не понятно почему 0 выводит.
|
|
|
Записан
|
|
|
|
bolonka
Интересующийся
Offline
Пол:
|
|
« Ответ #5 : 20-05-2009 07:29 » |
|
я так думаю что я неправильно в коде перевожу в число
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #6 : 20-05-2009 07:44 » |
|
а слабо код показать?
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
bolonka
Интересующийся
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
|
|
« Ответ #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
Интересующийся
Offline
Пол:
|
|
« Ответ #9 : 20-05-2009 08:23 » |
|
хороший вопрос, я вообще уже не понимаю что я делаю и для чего. Ну типа там данные в число преобразовываться должны
|
|
|
Записан
|
|
|
|
bolonka
Интересующийся
Offline
Пол:
|
|
« Ответ #10 : 20-05-2009 08:34 » |
|
наверное я уже все в коде понапутала что уже не расспутать
|
|
|
Записан
|
|
|
|
bolonka
Интересующийся
Offline
Пол:
|
|
« Ответ #11 : 20-05-2009 08:56 » |
|
я знаю что я там делаю и мне это не надо.
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #12 : 20-05-2009 09:08 » |
|
тихо сам с собою я веду беседу
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
bolonka
Интересующийся
Offline
Пол:
|
|
« Ответ #13 : 20-05-2009 09:19 » |
|
мне уже плохо от этой задачи, а сделать надо.
|
|
|
Записан
|
|
|
|
Джон
просто
Администратор
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."
|
|
|
Вад
|
|
« Ответ #15 : 20-05-2009 09:32 » |
|
bolonka, попробуй откомментировать код строчка за строчкой на уровне "действие и результат" Например: xor ah, ah ; ah = 0
Потом можно попробовать пройтись по коду с набором тестовых данных (на бумажке или в отладчике) и посмотреть, что происходит с данными и что получается на выходе.
|
|
|
Записан
|
|
|
|
Serg79
|
|
« Ответ #16 : 20-05-2009 10:29 » |
|
bolonka, а Ты он или она? P.S. Ты уж извини меня за такой вопрос, это для того что бы понять с чем Мы имеем дело.
|
|
|
Записан
|
|
|
|
bolonka
Интересующийся
Offline
Пол:
|
|
« Ответ #17 : 20-05-2009 15:35 » |
|
Я вообщето - ОНА, это меняет дело???
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #18 : 20-05-2009 16:00 » |
|
bolonka, да не обращай внимания, нам без разницы он или она ))
Serg79, а действительно, к чему такой вопрос ?
|
|
|
Записан
|
|
|
|
Serg79
|
|
« Ответ #19 : 20-05-2009 16:04 » |
|
bolonka, да не обращай внимания, нам без разницы он или она ))
Serg79, а действительно, к чему такой вопрос ?
Ну теперь хоть понятно, с вероятностью 90%, что разбераться Она с этим вопросом сама не будет и ждет здесь готовое решение.
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #20 : 20-05-2009 16:09 » |
|
Serg79, откуда такие ассоциации ?
|
|
|
Записан
|
|
|
|
Serg79
|
|
« Ответ #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
|
|
« Ответ #22 : 20-05-2009 16:16 » |
|
Serg79, откуда такие ассоциации ? Блин Алексей1153++, видно же по содержимому топика. И с большой долей вероятности могу сказать, что лабы Ассемблеру она уже сдала и ей по барабану теперь на эту тему, и уже тем более на ассемблер. Но bolonka не забывай, Тебе еще экзамен по данному предмету сдавать . Так что приходи, всегда готовы помочь
|
|
« Последнее редактирование: 20-05-2009 16:18 от Serg79 »
|
Записан
|
|
|
|
bolonka
Интересующийся
Offline
Пол:
|
|
« Ответ #23 : 20-05-2009 16:24 » |
|
спасибо за помощь огромное, но я экзамены ни какие не сдаю, с чего вы взяли что я где то учусь???И это лабораторная работа???
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #24 : 20-05-2009 16:30 » |
|
Serg79, шо, съел, телепат ?
|
|
|
Записан
|
|
|
|
Serg79
|
|
« Ответ #25 : 20-05-2009 16:33 » |
|
Serg79, шо, съел, телепат ? Случается что и 10% срабатывает.
|
|
|
Записан
|
|
|
|
|