#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void decom(char *s)
{
//unsigned char s[20]="aaabccd";
//unsigned char s2[20];
asm{
push ax
push si
push di
lea di, s
lea si, s
mov ax,ds
mov es,ax
xor ch, ch
}
while_: asm{
mov al, [si]
cmp al, '0'
je fim
cmp al, [si+1]
jne write
inc si
mov ch,[si+1]
inc si
mov [di], al
inc di
mov [di], al
inc di
jmp write2
}
write: asm{
mov [di], al
inc di
inc si
jmp while_
}
write2: asm{
cmp ch, 0
je while2
inc di
mov [di], al
dec ch
jmp write2
}
while2: asm{
inc si
jmp while_
}
end: asm{
//mov byte ptr [di], 0
pop di
pop si
pop ax
}
printf("code text= %s",s);
getch();
//return 0;
}
int main()
{
unsigned char s[20]="aa2EdFF5";
decom(s);
return 0;
}
MOD EDIT: When posting code...USE CODE TAGS!!!
This post has been edited by JackOfAllTrades: 18 November 2010 - 01:20 PM

New Topic/Question
Reply




MultiQuote





|