x86 convertir al conjunto de caja inferior

Este programa es para convertir unchar puntero en minúsculas. Estoy usando Visual Studio 2010.

Esto es de otra pregunta, pero mucho más simple de leer y más directo al punto.

int b_search (char* token)
{
__asm
{
mov eax, 0          ; zero out the result
mov edi, [token]      ; move the token to search for into EDI 
MOV ecx, 0

LOWERCASE_TOKEN:            ;lowercase the token
OR [edi], 20h
INC ecx
CMP [edi+ecx],0
JNZ LOWERCASE_TOKEN
MOV ecx, 0

En mi instrucción OR, donde estoy tratando de cambiar el registro que contiene la dirección a token en minúsculas, sigo recibiendo una excepción no controlada ... infracción de acceso, y sin los corchetes nada, no obtengo errores pero nada se baja en minúscula ¿Algún consejo? Esto es parte de un código más grande de otra pregunta, pero lo rompí porque solo necesitaba esta solución.

Respuestas a la pregunta(3)

Su respuesta a la pregunta