🗿Assembly/코드비교및 분석
문자열 길이측정 함수 [ vs2019 inline assembly ]
개발환경 >> Visual Studio
언어 >> C++14(+)
운영체제 >> Windows10
안녕하세요~!!
이번에는 문자열의 길이를 젤수있는 함수를 인라인어셈블리를 이용해서 만들도록 하겠습니다..!
namespace dp {
int chrlen(const char* _str) {
_asm {
xor eax, eax ; eax를 0으로 초기화
mov esi, dword ptr[_str] ; esi레지스터에 _str주소값입력
ReZe: ; ReZe 점프케이블
cmp byte ptr[esi + eax], 0 ; 만약 _str[eax]값이 '\0'일경우
je Exit ; Exit 점프케이블로 이동
inc eax ; eax레지스터값 1증가
jmp ReZe ; ReZe 점프케이블로 이동
Exit: ; Exit 점프케이블
}
}
}
//사용법 -> int i = dp::chrlen("hello world");
궁금한 부분있으면 물어보세요..!!
'🗿Assembly > 코드비교및 분석' 카테고리의 다른 글
for루프문 [ vs2019 inline assembly ] (0) | 2021.05.12 |
---|
댓글