format elf64
section '.data'

Message db 'Forests are Bland.'
SearchTerm db 'a'			; optional character to search for. instead of getting lenth of entire string.
ResultMessage db '%d',10,0
Result db '',0

section '.bss' writable


section '.text' executable
extrn stdin
extrn fgets
extrn printf
extrn scanf
public main

; -------------        
main:

        push rbp
        mov rbp, rsp

mov rdx, [stdin]

; -------------
nop
lea rdi, [Message]
xor rcx, rcx
mov rcx, 55
mov rax, 0
lodsb
cld				;rdi will decrement because direction flag is 0
repnz scasb
neg rcx
dec rcx
mov qword [Result], rcx




; -------------
; want to make sure no other parameters are passed to printf:
mov rdx, 0
mov rcx, 0
mov r8, 0
mov r9, 0
xor esi, esi

; ------------
; print it?
mov rdi, ResultMessage
mov esi, Result
xor eax, eax
call printf

; clear stack frame
        mov rsp, rbp
        pop rbp
ret
