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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.10.2015, 14:29   #1
Екатерина57
Пользователь
 
Регистрация: 11.10.2015
Сообщений: 63
По умолчанию Управление клавиатурой. Ввод строки символов

Помогите написать код!!
Написать программу на языке ассемблера, которая позволяет
вводить с клавиатуры и выводить на экран строки символов. Строки
должны храниться в одном т том же буфере. Группы строк (вводимая
и выводимая) должны отделяться друг от друга строкой символов,
например «*». Программа должна завершать свою работу при нажа-
тии клавиш «CTRL» + «C». Максимальная длина строки выбирается
самостоятельно.
Екатерина57 вне форума Ответить с цитированием
Старый 11.10.2015, 16:49   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Твои попытки увидеть можно?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.10.2015, 20:21   #3
Екатерина57
Пользователь
 
Регистрация: 11.10.2015
Сообщений: 63
По умолчанию

Екатерина
Код:
d_s segment 
str1 db ' Hello ', 0ah,0dh,'$' ; переводит автоматически курсор на начало 
следующей строки после завершения вывода 
str2 db 'Goodbay', 0ah,0dh,'$' 
d_s ends 
c_s segment 
assume cs:c_s,ds:d_s 
begin: 
mov ax,d_s 
mov ds,ax 
mov ah,0h ;установка экрана 
mov al,00000011b ;номер режима 

int 10h 
mov ah,2h ; установка курсора 

mov bh,0 ;номер страницы 
mov dh,1 ;строка 
mov dl,1 ;столбец 
int 10h 
mov ax,d_s ; вывод строки по адресу стр1 
mov ds,ax 
mov ah,9h ;вывод стpоки символов на экpан - функция 9h 
lea dx,soob ;в dx - адpес стpоки для вывода 
int 21h ;выводим стpоку на экран 
mov ah,0h 
int 1аh 
mov bx,dx 
add bx, 182 ; цикл (в котором сначала запоминают время, после к 
этому времени прибавляют 10 секунд, после чего 
сравнивают текущее время и нужное время для 
заключения следующей строчки) 
m1: mov ah,0h 
int 1ah 
cmp dx, bx ; сравниваем 
jg m2 
jmp m1 
m2 : mov ax,d_s 
mov ds,ax 
mov ah,9h ;вывод стpоки символов на экpан - функция 9h 
lea dx,str2 ;в dx - адpес стpоки для вывода 
int 21h ;выводим стpоку на экран 
mov ah,4ch 
int 21h 
c_s ends 
end begin
Помогите,надо как то добавить между ними строку знаков,но я не знаю как это сделать.

Последний раз редактировалось Stilet; 11.10.2015 в 20:34.
Екатерина57 вне форума Ответить с цитированием
Старый 11.10.2015, 20:42   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ой как все сложно... Из того что я понял могу предложить свой пример из темы http://www.programmersforum.ru/showthread.php?p=1420355
Только с поправкой:
Код:
cmp [si],'*'
je sorry
;Переводим каретку
 xor ax,ax
 xor dx,dx
 mov	 ah, 2
 mov	 dl,13
 int	 21h		 ; DOS - PRINT CHAR
sorry:
 inc si
loop for2
Если я не правильно понял (мол нужно строки разделить по неокему разделителю), то поясни фразу
Цитата:
Группы строк (вводимая
и выводимая) должны отделяться друг от друга строкой символов
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Управление клавиатурой igrok111 Общие вопросы Delphi 4 08.08.2013 13:31
Удаленное управление клавиатурой (Delphi 7) Rust.am Помощь студентам 3 27.02.2012 01:16
Управление клавиатурой NickolayNest Паскаль, Turbo Pascal, PascalABC.NET 0 26.10.2011 00:35
Управление клавиатурой kaizer Gamedev - cоздание игр: Unity, OpenGL, DirectX 3 10.12.2009 18:40