🗿Assembly/코드비교및 분석2

문자열 길이측정 함수 [ 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 점프케이블.. 2021. 5. 14.
for루프문 [ vs2019 inline assembly ] 개발환경 >> Visual Studio 언어 >> C++14(+) 운영체제 >> Windows10 안녕하세요!!! 요즘에 프로젝트개발을 하면서 프로그램 최적화와 속도향상에 관한 많은 생각을 거듭한끝에 극한의 극한까지 프로그램을 효율적으로 최적화할 수 없을까?? 라는 생각을 하게되었습니다. 그래서 알아본것이 Assembly!!! 특히 vs2019는 디버깅을 통해 디스어셈블이 바로 가능하기 때문에 바로 연습해봤죠!! 이번에는 새로운 카테고리를 개설했는데 Assembly를 C++코드로, C++코드를 Assembly코드로 변환하면서 분석하고 설명하는식으로 가겠습니다. 이번에 이 강좌를 진행하면서 저도 같이 공부를 하게되겠습니다. 이것을 C++코드 아예없이도 완전하게 Assembly만으로 프로그램을 자유롭게 만들.. 2021. 5. 12.