본문 바로가기

C.E/Assembly

SP ; Stack Pointer SP ; Stack Pointer : 서브루틴 호출이나 인터럽트 발생시에 복귀주소(return address)를 저장, C 프로그램에서 지역변수(local variable)를 저장, 어셈블리 프로그램에서 임시 데이터를 저장 Ø Stack : 데이터 메모리인 RAM의 일부를 특별한 데이터 저장 영역으로 할당하여 두고 후입선출(LIFO; Last-In First-Out) 방식으로만 액세스하여 사용하는 메모리 Ø stack overflow : stack의 용량을 너무 작게 설정하거나, 또한 프로그램 작성시에 stack에 데이터를 push하는 동작과 pop하는 동작이 쌍으로 이루어지지 않으면 stack에 데이터가 누적되고 결국 지정된 stack 영역 메모리의 범위를 벗어나는 에러 발생. Bit 15 14 13 .. 더보기
Flag Register 1) Flag register Flag register는 CPU 내부 기구중 하나로 산술 연산 결과의 상태를 보여주는 flag bit들이 모인 레지스터이다. 산술 연산시 CPU에 의해 자동적으로 세팅되며 , 프로세서의 현재 상태를 결정한다. 상태레지스터라고 불리고 기종에 따라 condition register라고 불리기도한다. 상태 플래그 (Status flag) Carry Flag (CF) Unsigned overflow가 발생할 때 1로 세팅된다. Parity Flag (PF) 연산결과에 1인 bit의 개수가 짝수개이면 1 , 홀수개이면 0으로 세팅된다. Auxiliary Flag (AF) 연산결과 하위 4bit에 Unsigned overflow가 발생했을때 1로 세팅된다. Zero Flag (ZF).. 더보기
어셈블리 명령어 모음 *14.03.20 1차 수정 *14.05.29 2차 수정 AAA Ascii Adjust for Addition AAD Adjust For Division 뎃셈을 한 후 AL 레지스터 값을 언팩 10진 보정하는 명령어 나누기 연산을 하기 전에 언팩 10진 보정하는 명령어 AAM Ascii Adjust for Multiplication AAS Adjust for Subtraction 곱셈을 한 후 언팩 10진 보정하는 명령어 뺄셈을 한 후 언팩 10진 보정하는 명령어 ADC Add With Carry p ADD Arithmetic Addition 더하기를 할 때 캐리(carry)도 함께 더함 두 오퍼랜드에 더하기를 수행하여 결과를 DEST 즉, 왼쪽에 저장 AND Logical And CALL Procedu.. 더보기