+.alpha:
+ ;; We got a character that wasn't whitespace. Now read the actual word.
+ mov rdi, rsi ; This is where the word starts
+ mov rdx, 1 ; Length of word
+
+.read_alpha:
+ ;; Extract character from original buffer:
+ inc rsi
+ dec rcx
+
+ ;; When we hit whitespace, we are done with this word
+ mov al, [rsi]
+ cmp al, ' '
+ je .end
+ cmp al, $A
+ je .end
+
+ ;; It wasn't whitespace; add it to word buffer
+ inc rdx
+ jmp .read_alpha
+
+.end:
+ ;; Finally, we want to skip one whitespace character after the word.
+ inc rsi
+ dec rcx