본 포스팅은 개인공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있음을 밝힙니다. 표준 입력 함수 getchar() : 표준 입력 장치(키보드)가 입력한 내용이 버퍼에 들어가고 그 버퍼에 들어있는 단위문자 하나를 가져온다. 예를 들어 char ch로 캐릭터형 변수가 선언 되었다면 ch=getchar로 입력받을 수 있다. 다만 크기가 단일문자 하나로 제한되며, ENTER KEY가 단일문자의 속성을 가지고 있으므로 ENTER KEY를 입력시 getchar로 ENTER KEY가 버퍼에서 불려올 수도 있다. 이를 방지하려면 fflush(stdin) 함수를 사용한다. prtinf로 %c로 출력이 가능하며 %s로 출력 시 빌드는 에러 없이 진행되나 실제 구동에서 에러가 발생하였다. 그리고 개인적으..
※ 본 포스팅은 개인공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있음을 밝힙니다. ○ 인터럽트 인터럽트는 프로세서가 프로그램을 실행 도중 하드웨어나 소프트웨어의 문제 때문에 프로그램이 실행되고 있던 순서를 변경하여 좀 더 급한 이벤트를 수행한 후에 원래의 프로그램으로 복귀하여 나머지 프로그램을 수행한다. 인터럽트가 발생하면 현재 위치가 자동으로 인터럽트의 스택에 복귀주소로써 저장되어 인터럽트의 끝에서 복귀 명령을 만나면 다시 복귀주소로 돌아온다. 인터럽트의 발생원인은 크게 1. 하드웨어 인터럽트와 2. 소프트웨어 인터럽트로 나뉜다. 하드웨어 인터럽트의 경우 다시 내부 인터럽트와 외부 인터럽트로 나뉘게 되는데 내부 인터럽트는 프로세서에 정의되어있지 않은 명령을 실행하려 한다거나 0으로..
※ 본 포스팅은 개인공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있음을 밝힙니다. 1. 일반 레지스터 레지스터 이름 역 할 EAX (Accumulation) 누산기(계산)에 해당하며 대부분의 연산들이 수행되는 레지스터 ECX (Counter) 개수 횟수 등을 저장하는 카운터로 주로 반복문의 횟수에 사용된다. EDX (Data) 누산기의 확장으로 EDX+EAX로 64비트 연산을 할 때 사용된다. EBX (Base) 일반적인 데이터 레지스터, 주소 지정 시 사용된다. 2. 주소 레지스터 레지스터 이름 역 할 ESP Stack의 꼭대기 주소를 담는다. EBP Stack Frame의 바닥 주소를 담는다. ESI (Source) 문자열 연산에서 사용되는 원본 주소를 담는다. EDI (Dest..