Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2010, 14:41   #1
agressenok
Пользователь
 
Регистрация: 29.11.2010
Сообщений: 19
По умолчанию Легкая

Всем привет. Вообщем препод дал задание , сказал что не сложное совсем.
Нажимаю любую клавишу, выводит например 1, нажимаю любую другую клавижу, выводит 2, нажимаю опять любую (не первую и вторую) а выводит опять 1 и т.д. Напишите пожалуйста!!!! Оч буду признателен) в exe естесствено буду запускать)
agressenok вне форума Ответить с цитированием
Старый 07.12.2010, 17:18   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Ассемблер для какой системы?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.12.2010, 17:23   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

да и exe под ДОСом есть.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 07.12.2010, 18:01   #4
agressenok
Пользователь
 
Регистрация: 29.11.2010
Сообщений: 19
По умолчанию

эм..винда ) xp.
agressenok вне форума Ответить с цитированием
Старый 07.12.2010, 21:21   #5
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,432
По умолчанию

agressenok, начинайте делать, а мы подтянемся. А так, чёт не булькает.

Заранее пожалуйста!
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума Ответить с цитированием
Старый 07.12.2010, 22:06   #6
agressenok
Пользователь
 
Регистрация: 29.11.2010
Сообщений: 19
По умолчанию

В том то и дело. Я не имею понятия о ассемблере. Это не паскаль) я паскалем занимаюсь, а тут препод попросил это написать на ассемблере. Помогите пожалуйста. тыкаю любые клавиши а программа то 1 то 2 выдает!
agressenok вне форума Ответить с цитированием
Старый 07.12.2010, 22:38   #7
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,432
По умолчанию

Цитата:
Помогите пожалуйста. тыкаю любые клавиши а программа то 1 то 2 выдает!
Так вы уже что-то написали? Код в студию. А вообще задание сформулировано отвратительно.

Цитата:
Нажимаю любую клавишу, выводит например 1
Что значит например? Например - это 38 попугаев.

Цитата:
нажимаю опять любую (не первую и вторую) а выводит опять 1 и т.д.
Т.е. программа должна запоминать все нажатые до этого клавиши и менять строку статуса только в том случае, если нажата какая-то новая кнопка? Или она должна запоминать две последние нажатые? Или просто по нажатию любой кнопки должна менять чего-то на куда-то?
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума Ответить с цитированием
Старый 07.12.2010, 22:51   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

страшно сложная программа...

решено "в лоб", без оптимизации.
под MS DOS
(компилировал/собирал TASM / TLINK )
Код:
.model small 
.code 
main proc 
  ; ожидаем нажатия клавиши
@rep:
  mov ah, 08h
  int 21h
  cmp al, 00h ; проверка расширенных клавиш
  je @rep
   
  ; выводим 1
  mov ah,02h 
  mov dl,'1'
  int 21h

  ; ожидаем нажатия клавиши
@read2:
  mov ah, 08h
  int 21h
  cmp al, 00h ; проверка расширенных клавиш
  je @read2

  ; выводим 2
  mov ah,02h 
  mov dl,'2'
  int 21h

  ; зацикливаем программу (выход по Ctrl-С)
  jmp @rep
  
main endp 
end main
Вложения
Тип файла: rar PRESSB.rar (414 байт, 9 просмотров)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 07.12.2010, 23:04   #9
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,432
По умолчанию

А как же тогда это понимать:
Цитата:
Сообщение от agressenok
нажимаю опять любую (не первую и вторую)
Т.е. если нажимает первую или вторую, то происходить ничего не должно. Вроде так.
И, кстати, попробуйте кнопку зажать
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru

Последний раз редактировалось Ulex; 07.12.2010 в 23:09.
Ulex вне форума Ответить с цитированием
Старый 07.12.2010, 23:09   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Ulex
Т.е. если нажимает первую или вторую, то происходить ничего не должно. Вроде так.
у... да, скорее всего, Вы правы, это я проглядел...
в принципе, конечно, тоже ничего сложного - запоминать в буфер все нажатые ранее клавиши, и организовать поиск в этом буфере последней нажатой клавиши...
но, тут уже, конечно "в лоб" не решишь..
возни поболее будет...


agressenok - может Вам дорога во Фриланс лежит?...
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
легкая проблемка Domanoff Общие вопросы Delphi 8 21.04.2010 15:18
Легкая задачка в C# OnlySergio Помощь студентам 5 21.11.2009 15:02
Легкая программа. Maxs Фриланс 4 02.11.2009 10:25
легкая задача vAdiM_Kubski Паскаль, Turbo Pascal, PascalABC.NET 2 25.09.2009 22:49
Легкая задачка Васька Паскаль, Turbo Pascal, PascalABC.NET 1 29.11.2008 14:55