#include <stdio.h>
int m_cmp(char* a, char* b)
{
int cnta = 0; // aÀDZæÀÌ
int cntb = 0; // bÀDZæÀÌ
_asm
{
mov edi, a
L3:
cmp [edi], 0x00
je L1
inc edi
inc cnta
jmp L3
}
L1:
printf("%d\n", cnta);
_asm
{
mov edi, b
L4:
cmp [edi], 0x00
je L2
inc edi
inc cntb
jmp L4
}
L2:
printf("%d\n", cntb);
_asm
{
mov eax,ctna
cmp eax,cntb // a¿Í bÀÇ ±æÀ̺ñ±³ Å«¼ö ¹Ýº¹
jae L5 // a°¡ °°°Å³ª Ŭ °æ¿ì
mov eax,cntb // b°¡ Ŭ °æ¿ì eax¸¦ b·Î ¹Ù²Þ
L5:
mov edi, a
mov esi, b
L9:
cmp eax,0x00 // ¹Ýº¹ Ƚ¼ö°¡ 0ÀÌ µÇ¸é
je L6
dec eax
cmp [esi],[edi]
¡Ú¡Ú¡Ú¡Ú¡Ú ja L7
jb L8
je L9
}
L7: return 1;
L8: return -1;
L6: return 0;
}
int main()
{
char str1[10] = "Hello"; // ¹®ÀÚ¿ 1
char str2[10] = "He1lo"; // ¹®ÀÚ¿ 2
char str3[10] = "Hpllo"; // ¹®ÀÚ¿ 3
int a; // m_cmpÀÇ ¸®ÅÏ°ª
a = m_cmp(str1,str2); // str1ÀÌ ´õ Ŭ °æ¿ì
printf("%d\n", a); // 1 ¸®ÅÏ
return 0;
}
¡Ú 5°³ µÇÀÖ´Â ºÎºÐ¿¡¼..¿À·ù°¡ ¹ß»ýÇϴµ¥...¶Ç ¹¹°¡ À߸øµÈ°ÇÁö ¸øÀâ°íÀÖ½À´Ï´Ù.. |