|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.05.2010, 20:49 | #1 |
Новичок
Джуниор
Регистрация: 12.05.2010
Сообщений: 1
|
Цепочечные команды
Вопрос по теме: как проверить, все символы в строке одинаковы и совпадают с заданным, или нет.
Посоветовали команду cmps, но непонятно, как использовать... Помогите, чем можете! Конкретно нужно проверить, состоит ли строка из всех "с" или всех пробелов. Если нет, удалить с. .MODEL Small .STACK 100h .DATA Msg1 DB '‚ўҐ¤ЁвҐ бва®Єг:',13,10,'$' Msg2 DB '‘ва®Є* б ЇаҐ®Ўа*§®ў**ЁҐ¬:',13,10,'$' strEnd DB 'End of program!',13, 10, '$' Simb db 0 Space DB ' ' strErr DB 'Incorrect input. All simbols are c or Space. Try again.', 10, 13, '$' Buf DB 80 DUP(?) .CODE START: mov ax, @Data mov ds, ax mov es, ax qq: mov ah, 09h lea dx, Msg1 int 21h mov ah, 3fh mov bx, 0 mov cx, 80 lea dx, Buf int 21h push ax Test1: mov cx, ax LEA DI, buf LEA SI, Space ; mov al, ' ' repne cmpsb jne @analiz INC Simb jmp Test1 @analiz: mov cx, ax lea di, buf mov al, 'c' repne scasb jne @exit mov byte ptr [di-1], ' ';Замена с на пробел Add Simb, 1 jmp @analiz @exit: mov al, buf+1 ; mov ah, 0 cmp Simb, al je met1 mov ah, 09h lea dx, Msg2 int 21h ;вывод msg2 mov ah, 40h mov bx, 1 pop cx lea dx, buf int 21h ;Вывод модифицированной строки jmp FINISH met1: LEA dx, strErr mov ah, 09h int 21h jmp qq FINISH:mov ah, 09h lea dx, strEnd int 21h mov ax, 4C00H int 21h ;Выход END START |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Цепочечные команды | Opiym | Помощь студентам | 4 | 12.03.2010 22:09 |
Команды в заголовке | acidcool | SQL, базы данных | 3 | 27.08.2009 17:28 |
Набор команды | Роман Радер | Свободное общение | 6 | 14.02.2009 23:21 |
2 команды | Aivar | Помощь студентам | 2 | 01.10.2008 19:23 |
Подскажите команды! | Hump[FREE] | Общие вопросы Delphi | 2 | 27.02.2007 16:03 |