Таблица. Команды строковых примитивов.
Задание 2.
1. Удалить из строки самое длинное слово. (Слова разделяются пробелами)
2. Удалить из строки первое слово (слова разделяются пробелами, запятыми, точкой)
3. Удалить из строки последнее слово (слова разделяются пробелами, запятой)
4. Удалить из строки слово с максимальным количеством букв «а»
5. Переставить во всех словах буквы в обратном порядке.
6. Удалить лишние пробелы из строки
7. Переставить в словах, длиной больше 3 символов, буквы в обратном порядке.
8. Удалить удвоенные буквы в словах.
9. Удалить слова с удвоенными буквами.
10. Переставить первое и последнее слово в строке.
11. Заменить в строке все буквы «а» на «b»
12. Удалить из строки буквы «b»
13. Заменить во всех слова, содержащих только цифры, цифры на пробел
14. Удалить все слова, содержащие только цифры.
15. удалить слова-палиндромы
16. Удалить слова, длиной больше 5 символов.
17. Удалить слова с повторяющимися буквами.
18. Удалить из строки слова, содержащие больше 2 букв «а»
19. Обменять самое длинное и самое короткое слова.
20. Обменять слова с максимальным и минимальным количеством букв «а»
21. Удалить слова, содержащие цифры.
22. Удалить слова, длиной меньше 4 символов
23. Удалить из строки слова, содержащие буквы «а».
24. Удалить слова, начинающиеся и заканчивающиеся на букву «а»
25. Заменить в каждом слове первую букву на заглавную
26. Вставить перед каждым числом (числа – слова, состоящие только из цифр) ноль.
27. Заменить в словах, длиной больше 4 символов, все буквы на одну букву «b»
Таблица. Команды строковых примитивов.
Команда
| Описание
| Операнды
| MOVS
· MOVSB
· MOVSW
· MOWSD
| Перемещает строки данных. Копирует байт, слово, двойное слово из одного участка памяти в другой.
Перемещает (копирует) байт с шагом инкрем.1 для SI и DI
Перемещает (копирует) слово с шагом инкр. 2 для SI и DI
Перемещает (копирует) двойное слово с шагом инкремента 4 для SI и DI (только для CPU i386+)
|
MOVS [DI], [SI]
MOVSB без/опер.
MOVSW без/опер.
MOVSD без/опер.
| CMPS
· CMPSB
· CMPSW
· CMPSD
| Сравнивает строки данных. Сравнивает в памяти байты, слова, двойные слова.
Сравнивает байты с шагом инкремента 1 для SI и DI
Сравнивает слова с шагом инкремента 2 для SI и DI
Сравнивает двойные слова с шагом инкремента 4 для SI и DI (только для CPU i386+)
|
СMPS [SI], [DI]
· без операндов
| SCAS
· SCASB
· SCASW
· SCASD
| Сканирует строки данных. Сравнивает регистры AL, AX или EAX с содержимым памяти, изменяя регистр флагов.
Сканирует байт из AL с шагом инкремента 1 для DI
Сканирует слово из AX с шагом инкремента 2 для DI
Сканирует двойное слово из EAX с шагом инкремента 4 для DI (только для CPU i386+)
| SCAS [DI], AL
SCAS [DI], AX
SCAS [DI], EAX
· без операндов
| STOS
· STOSB
· STOSW
· STOSD
| Сохраняет строку данных: сохраняет содержимое регистров AL, AX или EAX в памяти.
Сохраняет байт из AL с шагом инкремента 1 для DI
Сохраняет слово из AX с шагом инкремента 2 для DI
Сохраняет двойное слово из EAX с шагом инкремента 4 для DI (только для CPU i386+)
| STOS [DI], AL
STOS [DI], AX
STOS [DI], EAX
· без операндов
| LODS
· LODSB
· LODSW
· LODSD
| Загружает аккумулятор из строки. Загружает байт, слово или двойное слово в AL, AX или EAX из памяти.
Загружает байт в AL с шагом инкремента 1 для SI
Загружает слово в AX с шагом инкремента 2 для SI
Загружает двойное слово в EAX с шагом инкремента 4 для SI (только для CPU i386+)
| LODS AL, [SI]
LODS AX, [SI]
LODS EAX, [SI]
· без операндов
|
|