Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int main() {
- char s[100];
- cin.getline(s, 100);
- _asm {
- lea edi, s
- mov al,' '
- repne scasb
- push edi
- repe scasb
- dec edi
- mov esi, edi
- pop edi
- push esi // сохраняем esi(адрес начала второго слова) в стек
- xor ecx, ecx // обнуялем ecx
- _loop3: // начало третьего цикла
- inc ecx // увеличиваем ecx
- cmp byte ptr [esi], 0 // сравниваем значение символа по адресу [esi] c нулем
- je _end_loop3 // если равны, то выходим из цикла
- inc esi // увеличиваем esi на один
- jmp _loop3 // переходим к началу цикла
- _end_loop3:
- pop esi // достаем esi из стека
- cld // нужная херня для следующей операции (обнуляет флаг df)
- repne movsb // копирует ecx символов начиная с esi в edi
- }
- cout << s << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment