🗿Assembly3

문자열 길이측정 함수 [ 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.
MASM 강좌 #0 설치 안녕하세요 이번에는 MASM설치방법과 실행방법에 관해서 포스팅하겠습니다. 본 포스팅의 주목적은 개인공부입니다. [[[ 설치 ]]] www.masm32.com/download.htm Download The MASM32 SDK NOTE on the version of MASM supplied in the MASM32 SDK. The versions supplied will write code that works correctly on Windows operating systems from Win95 OEM up to the current versions of Windows. As the Microsoft binaries date from the middle Win98 era, www.masm32.com 먼저.. 2021. 1. 12.