Ensamblaje en línea de Visual C++ de cadenas de entrada del usuario para conversión de mayúsculas y minúsculas
#include?
int?main()
{char?szStr[128]; gets(szStr); __asm?{
jmp?entrada isletter1:<
cmp?al,?' a'
jl?nex
cmp?al,?'
jg?nex
mov?ecx,?1
ret isletter2:
cmp?al,?A'
jl?nex
cmp?al,?Z'
jg?nex
mov?ecx,?1
ret nex:
mov?ecx,?0
entrada ret:
lea?edx,?szStr loopStart:
mov?al,byte ?ptr?ds:[edx]
prueba?al,?al
jz?ed
llamada?isletter1
prueba? ecx,?ecx
jz?test2
sub?byte?ptr ?ds:[edx], ?' a'-'A'
jmp? nextChar prueba2:
llamada?isletter2
prueba?ecx,?ecx
jz?nextChar
ad?byte?ptr?ds :[edx],?' a'-'A' nextChar:
inc?edx
jmp?loopStart ed: } puts(szStr);
}