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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2012, 08:48   #1
Victor Babin
Новичок
Джуниор
 
Регистрация: 05.12.2012
Сообщений: 4
Восклицание Программа для ввода строковых данных с клавиатуры. Запретить ввод пробела в строку (Ассемблер)

Разработать программу, ввода строковых данных с клавиатуры. Запретить ввод пробела в строку.
Помогите пожалуйста

Последний раз редактировалось Victor Babin; 05.12.2012 в 08:50.
Victor Babin вне форума Ответить с цитированием
Старый 05.12.2012, 09:06   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

во-первых, для учебных задач предназначен раздел "Помощь студентам"

во-вторых, ассемблеры - они ОЧЕНЬ разные бывают! Определитесь с тем, какой именно (под какую платформу/операционнку) Вам нужен.

в-третьих, чем помочь то? Написать программу полностью за Вас? Так и Вы тогда помогите тому, кто Вам напишет, материально... Если же научится хотите, ищите примеры, разбирайтесь, пытайтесь что-то сделать самостоятельно. А что не получается спрашивайте - тут помогут, подскажут, поправят, направят...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.12.2012, 09:23   #3
Victor Babin
Новичок
Джуниор
 
Регистрация: 05.12.2012
Сообщений: 4
По умолчанию

У нас ассемблирование на нашей специальности с первого курса сделали, поэтому пока что ничего не понятно.
Вот что смог сделать:
Код:
.MODEL small                    ;отводим под стек и под данные по 64Кб
.STACK 100h                     ;отмечаем начало сегмента стека
.DATA                           ;отмечаем начало сегмента данных
NL      db      0Ah, 0Dh, '$'
Buf     DB      255, 0, 256 DUP (0)     ;

.CODE                           ;отмечаем начало сегмента кодов
main PROC
       mov     ax,@data        ;копируем адрес
       mov     ds,ax           ;сегмента данных
       mov     dx,offset Buf   ;считываем строку с клавиатуры
       mov     ah,0Ah
       int     21h
       xor     cx,cx
       mov     al,[Buf+1]      ;если считано 0 байт, то выход из
       mov     cl,al           ;задаем количество повторений (длина строки)
       test    al,al           ;программы
       jz      Exit
       mov     ah,09h
       mov     dx,offset NL    ; перейти на следующую строку
       int     21h
       mov     si,offset Buf+2
Cycle:
       mov     dl,[si]         ;считать символ
       cmp     dl,' '          ;сравнить с пробелом
       jne     Print           ;если не пробел - вывести
       jmp     Space           ;пропустить код вывода - пробел не выводим

Space:
       inc     si              ;перейти к следующему символу
       loop    Cycle
Exit:
       mov     AX,4C00h        ;выход
       int     21h             ;из программы
main    ENDP

END main



___________
1) Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)

2) Не используйте форум как чат - не пишите несколько коротких сообщений подряд!
Есть что добавить - нажимайте кнопку "Правка/Редактировать" на своём крайнем сообщении
и изменяйте, добавляйте....

Не забывайте об этом!

Модератор.

Спасибо)

Последний раз редактировалось Victor Babin; 05.12.2012 в 09:53.
Victor Babin вне форума Ответить с цитированием
Старый 05.12.2012, 09:25   #4
Victor Babin
Новичок
Джуниор
 
Регистрация: 05.12.2012
Сообщений: 4
По умолчанию

Не знал что нужно в раздел добавлять, спасибо)
Victor Babin вне форума Ответить с цитированием
Старый 05.12.2012, 09:38   #5
Victor Babin
Новичок
Джуниор
 
Регистрация: 05.12.2012
Сообщений: 4
По умолчанию

Перед Space Добавил:
Print:
cmp dl,' '
jne Print
Victor Babin вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввод и вывод строковых данных на консоль BlackFantom Общие вопросы по Java, Java SE, Kotlin 0 21.12.2011 15:09
Ввод и вывод строковых данных на консоль BlackFantom Общие вопросы по Java, Java SE, Kotlin 1 19.12.2011 17:14
Ввод и вывод строковых данных на консоль BlackFantom Общие вопросы по Java, Java SE, Kotlin 1 16.12.2011 04:14
Запретить ввод более одной десятичной точки в форму ввода("некорректный ввод") adller_one PHP 1 13.01.2011 23:59
Как запретить/разрешить ввод от клавиатуры любых символов (в том числе и юникодных)? SkAndrew Общие вопросы Delphi 8 15.08.2008 15:30