본문 바로가기
반응형

Assembly11

기본 명령어 명령어 예시 설명 inc inc eax 피연산자에서 1을 더한다. dec dec eax 피연산자에서 1을 뺀다. add add eax,ebx 소스 피연산자를 같은 크기의 목적 피연산자에 더한다. sub sub eax,ebx 목적 피연산자를 같은 크기의 소스 피연산자로 뺀다. neg neg eax 피연산자를 2의 보수로 변환하여 부호를 바꾼다. cmp cmp eax,ebx 목적 피연산자를 같은 크기의 소스 피연산자로 뺀다. 플래그는 설정이 되지만 피연산자는 수정되지 않는다. (ZF, CF) lea lea edi,esi 소스 피연산자의 유효 주소를 계산하여 목적 피연산자에 복사한다. jmp jmp L1 해당 레이블로 무조건 이동시킨다. loop loop L1 ECX 값이 0이 될 때까지 해당 레이블로 이동시.. 2010. 11. 27.
자료형 자료형 설명 BYTE 부호없는 8비트 변수 SBYTE 부호있는 8비트 변수 WORD 부호없는 16비트 변수 SWORD 부호있는 16비트 변수 DWORD 부호없는 32비트 변수 SDWORD 부호있는 32비트 변수 QWORD 64비트 변수 TBYTE 80비트 변수 REAL4 4바이트(32비트) 실수 변수 REAL8 8바이트(64비트) 실수 변수 REAL10 10바이트(80비트) 실수 변수 2010. 11. 27.
어셈블리어 고급언어 vs 저급 언어 응용형태 고급언어 저급언어 중대형 소프트웨어 많은 부분의 코드를 쉽게 체계화하고 유지, 보수가 쉽다. 형식을 갖춘 구조가 없어 프로그래머가 인위적으로 구조를 만들어주어야 한다. 하드웨어 장치 드라이버 하드웨어를 직접 제어할 수 없는 경우가 많아 까다로운 코딩 기술이 사용되어야하기 때문에 유지, 보수가 힘들다. 하드웨어 제어를 쉽게 할 수 있고 프로그램의 길이가 짧고 정리가 잘 된 경우 유지, 보수가 쉽다. 다양한 종류의 컴퓨터 시스템에서 작동되는 소프트웨어 대체로 이식성이 높아 약간의 수정만으로 재사용이 가능하다. 각 컴퓨터 시스템에 적절하도록 프로그램을 재작성 해야함으로 유지, 보수가 힘들다. 1.어셈블리 언어의 특징 ①기계어를 기호화한 기호식 언어이다. ②기계어와 기호가 1:.. 2010. 11. 27.
플래그 CPU의 현재 상태나 연산 결과와 관련된 정보를 보여준다. 각 비트 위치는 각각의 이름이 주어져 있다. 다음 페이지 표에는 8086/8088 플래그 레지스터의 비트 위치를 보이고 있다. 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ✖ ✖ ✖ ✖ O D I T S Z ✖ A ✖ P ✖ C O=Overflow D=Direction I=Interrupt T=Trap S=Sign Z=Zero A=Auxiliary Carry P=Parity C=Carry ✖=undefined 1.제어 플래그 방향(direction : DF),인터럽트(Interrupt : IF),트랩(Trap : TF)플래그로 구성되며 CPU의 작동을 제어하기 위한 플래그이다. 플래그 종류 기능 방향 플래그 (DF) MOV.. 2010. 11. 27.
레지스터 레지스터는 CPU 바로 안에 있는 고속 저장 장소이며 일반 메모리보다 훨씬 빠른 속도를 접근되도록 설계되었다. 레지스터는 8개의 범용 레지스터와 6개의 세그먼트 레지스터, 프로세서 상태 플래그 레지스터와 명령어 포인터가 있다. 1.범용 레지스터 범용 레지스터는 계산과 데이터 전송에 주로 사용된다. 각 레지스터는 하나의 32비트 값이나 두 개의 16비트 값으로 다룰 수 있다. 어떤 레지스터의 일부분은 8비트 값으로 다룰 수 있다. 예를 들어 32비트 EAX레지스터의 16비트 하위 반은 AX라는 이름을 갖고 AX 레지스터의 8비트 상위 반은 AH, 하위 반은 AL이라는 이름을 갖는다. 32비트 16비트 8비트(상) 8비트(하) EAX AX AH AL EBX BX BH BL ECX CX CH CL EDX DX.. 2010. 11. 27.
반응형