ASM
Cifrado César en ASM
29 may
Versión en ASM del algoritmo de cifrado César, programada por CronuX.
Cesar.inc:
.data Cifrado db 128 Dup(?) msgerror db "Ingresado Caracteres Invalidos",0 msgerrorclave db "Clave Ingresada Invalida",0 .data? Nombre db 256 Dup(?) clave db 256 dup(?)
Cesar.asm:
;**************************************** ; @---------------------------------- ; @ Autor original: [p3ll3] ; @ Version original: Java ; @ Autor modificacion: CronuX ; @ Version modificacion: ASM (Masm32) ; @ Sitio web: ; - http://foro.code-makers.net ; @---------------------------------- ;***************************************** invoke GetDlgItemText,hWin,EditNombre,addr Nombre,128 xor eax,eax invoke GetDlgItemText,hWin,Editclave,addr clave,18 invoke atodw,addr clave cmp eax, 19h jnl errorclave xor ecx,ecx mov ecx,eax xor ebx,ebx xor eax,eax bucle: mov al,byte ptr [ebx+Nombre] cmp al, 41h jl error cmp al, 5bh jl suma jmp sigue suma: add al,32 sigue: cmp al,61h jl error cmp al, 7bh jnl error add al,cl cmp al,7ah jbe sigue2 sub al,7ah add al,60h jmp sigue2 sigue2: mov byte ptr [Cifrado+ebx],al inc ebx cmp byte ptr [Nombre+ebx],0 je sale jmp bucle sale: mov byte ptr[Cifrado+EBX],0 Invoke SetDlgItemText,hWin,EditCifrado,addr Cifrado jmp salida error: invoke SetDlgItemText,hWin,EditCifrado,addr msgerror jmp salida errorclave: invoke SetDlgItemText,hWin,EditCifrado,addr msgerrorclave salida: fin

