목록전체 글 (421)
외로운 Nova의 작업실

안녕하세요, 오늘은 덧셈과 뺄셈을 어셈블리어로 실습해보는 시간을 가져보도록 하겠습니다. ;this program adds adn subtracts 32-bit integers. include c:\assembly\irvine32.inc includelib c:\assembly\irvine32.lib includelib c:\assembly\kernel32.lib includelib c:\assembly\user32.lib .code main PROC mov eax, 10000h add eax, 40000h sub eax, 20000h call DumpRegs exit main ENDP END main 위 어셈블리 코드는 eax 레지스터에 10000h를 옮기고 40000h를 더하고 20000h를 빼서 결국..
안녕하세요, 정말 오랜만입니다. 포스팅 안했던 시간동안 저의 인생에대해 고민이 많았고, 결국에 저는 좋아하고 잘하는 일을 하기로 했습니다. 아무튼 이 어셈블리 언어 공부를 이어서 해볼까합니다. 전에는 irvine32 라이브러리를 추가하지 못한 채로 masm32를 사용해왔지만, 제가 라이브러리를 추가하는 방법에대해서 알아왔습니다. 바로 네이버 지식인으로 찾아냈습니다. https://kin.naver.com/qna/detail.naver?d1id=1&dirId=10401&docId=424575505&scrollTo=answer1 masm32에 irvine32 라이브러리 추가하기 안녕하세요, 평범한 대학생입니다. 이번에 어셈블리어를 x86프로세서를 위한 어셈블리언어 6판 책으로 실습해보려고합니다.그래서 mas..
안녕하세요. 오늘은 어셈블리어에서의 데이터 전송 명령어와 덧셈과 뺄셈을 정리해 보도록 하겠습니다. 데이터 전송 명령어 어셈블리어에서는 레지스터와 즉시값과 메모리에대해서 데이터를 전송할 수있습니다. 예를 들어 레지스터에서 상수로 데이터를 전송할 수 있습니다. 이를 어떻게 어셈블리에서 구현하는지에대해서 알아보겠습니다. MOV 명령어 MOV 명령어의 기본적 쓰임은 아래와 같습니다. MOV 목적지 , 소스 소스에서 목적지로 데이터를 복사하는 명령어 입니다. MOV는 다음과 같은 규칙에 따라서만 가능합니다. 1. 목적지와 소스는 같은 크기여야합니다. 2. 목적지와 소스가 모두 메모리일 수 는 없습니다. 3. CS, EIP, IP는 목적지 일 수 없습니다. 4. 즉시값이 세그먼트 레지스터에 이동 될 수 없습니다. ..