segment .data source db 'Best of Times to learn is Now.',0x0A, 0x0A sm db '',0x0A, 0x0A target db '',0x0A, 0x0A tm db '',0x0A, 0x0A len equ $ - source segment .text global _start _start: mov eax, 4 mov ebx, 0 mov ecx, source mov edx, len int 0x80 mov ecx, len mov esi, 0 mov edi, 0 space_loop: mov al, [source+esi] mov bl, '.' cmp al, bl je no_caps mov bl, ' ' cmp al, bl je end_loop mov [sm+edi], al inc edi end_loop: inc esi loop space_loop no_caps: mov esi,0 mov al, [sm+esi] mov bl, '.' cmp al, bl je print mov bl, '[' cmp al, bl jae end_caps add al, 20h mov [sm+esi], al end_caps: inc esi loop no_caps print: mov eax,4 mov ebx,1 mov ecx,sm mov edx,len int 0x80 exit: mov eax, 1 mov ebx, 0 int 0x80