연산자

연산자 예시 설명 offset mov esi,OFFSET 변수명 이 연산자를 포함하는 세그먼트의 시작으로부터의 변수의 거리를 반환한다. ptr mov eax,WORD PTR 변수명 변수의 선언된 크기를 바꾸어 사용할 수 있게 한다. type mov eax,TYPE 변수명 변수 또는 배열 원소의 크기를 반환한다. lengthof mov eax,LENGTHOF 변수명 배열의 원소 개수를 반환한다. sizeof mov eax,SIZEOF 변수명 배열의 초기값이 설정된 바이트 수를 … 더 읽기

기본 명령어

명령어 예시 설명 inc inc eax 피연산자에서 1을 더한다. dec dec eax 피연산자에서 1을 뺀다. add add eax,ebx 소스 피연산자를 같은 크기의 목적 피연산자에 더한다. sub sub eax,ebx 목적 피연산자를 같은 크기의 소스 피연산자로 뺀다. neg neg eax 피연산자를 2의 보수로 변환하여 부호를 바꾼다. cmp cmp eax,ebx 목적 피연산자를 같은 크기의 소스 피연산자로 뺀다. 플래그는 … 더 읽기

자료형

자료형 설명 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비트) 실수 변수

어셈블리어

고급언어 vs 저급 언어 응용형태 고급언어 저급언어 중대형 소프트웨어 많은 부분의 코드를 쉽게 체계화하고 유지, 보수가 쉽다. 형식을 갖춘 구조가 없어 프로그래머가 인위적으로 구조를 만들어주어야 한다. 하드웨어 장치 드라이버 하드웨어를 직접 제어할 수 없는 경우가 많아 까다로운 코딩 기술이 사용되어야하기 때문에 유지, 보수가 힘들다. 하드웨어 제어를 쉽게 할 수 있고 프로그램의 길이가 짧고 정리가 잘 … 더 읽기

레지스터

레지스터는 CPU 바로 안에 있는 고속 저장 장소이며 일반 메모리보다 훨씬 빠른 속도를 접근되도록 설계되었다. 레지스터는 8개의 범용 레지스터와 6개의 세그먼트 레지스터, 프로세서 상태 플래그 레지스터와 명령어 포인터가 있다. 1.범용 레지스터 범용 레지스터는 계산과 데이터 전송에 주로 사용된다. 각 레지스터는 하나의 32비트 값이나 두 개의 16비트 값으로 다룰 수 있다. 어떤 레지스터의 일부분은 8비트 값으로 … 더 읽기

IA-32 프로세스 구조

IA-32프로세서는 보호 모드, 실제 주소 모드, 시스템 관리 모드의 세 가지 주요 동작모드를 갖는다. 가상 8086 모드는 보호모드의 특별한 경우이다. 동작모드 설명 보호 모드 모든 명령어와 특징을 사용할 수 있는 프로세서의 고유한 상태이다. 프로그램은 세그먼트라고 하는 분리된 메모리 영역이 주어지며 프로세서는 지정된 세그먼트 바깥의 메모리를 참고하는 것을 방지한다. 가상 8086 모드 보호 모드에서 프로세서는 MS-DOS … 더 읽기

메모리 (Memory)

1. RAM (1)DRAM (Dynamic RAM) : 미소한 콘덴서에 전하를 축적함으로써 정보를 기억한다. 일정시간마다 기억 내용을 다시 재생해주는 재생회로가 필요하다. 전력소모가 작고 칩당 기억용량이 매우 크므로 고밀도화를 이룰 수 있으나 임의의 시점에서 리드와 라이트가 불가능하므로 주로 대용량의 기억장치 구성에 적합하다. (2)SRAM (Static RAM) : 전원 공급이 유지되는 한 저장 내용을 계속 기억하는 RAM 으로 제어가 간단하며 … 더 읽기

시스템의 기동 순서(Windows)

①CPU는 롬 바이오스 내의 초기화 프로그램으로 점프한다. 부트스트랩 로더라 불리는 프로그램이 시작 드라이브로 지정된 드라이브로부터 부트 레코드를 가져와 메모리에 보관한다. 부트 레코드는 장착되자마자 실행되는 프로그램을 가지고 있다. 이 프로그램은 io.sys, msdos.sys를 차례로 메모리에 보관한다. 마지막으로 메모리에 저장되는 프로그램은 MS-DOS 명령처리 프로그램인 command.com이다. ②command.com의 상주 부분은 항상 메모리에 남아 있다. 이는 오류 메시지를 발생시키며 Ctrl+Break나 긴급한 … 더 읽기
바로가기