일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 시스템
- 드론
- Bandit
- 리눅스 커널
- kernel
- 리눅스커널
- 컴퓨터구조
- C언어
- 시스템프로그래밍
- pwncollege
- 시그널
- 리버싱
- 시스템 프로그래밍
- 워게임
- 커널
- 어셈블리어
- wargame
- 시스템해킹
- 프로그래밍
- 리눅스
- px4
- write up
- css
- Pwnable.kr
- Leviathan
- radare2
- 취약점
- pwn.college
- 알고리즘
- C++
- Today
- Total
목록컴퓨터구조&어셈블리어 (17)
Computer Security
주소지정방식(addressing mode) -주소지정방식은 명령어의 피연산자를 지정하기 위한 방법들을 의미한다. 피연산자(Operand)는 크게 레지스터, 즉시 값, 메모리가 될 수있다. -8086은 레지스터, 즉시 값에 접근하는 방식과 메모리에 접근하는 6가지 방식까지 총 8개 주소지정방식을 제공한다. 레지스터 주소지정 -레지스터 피연산자를 지정하는 방식이다. AH, AL, AX, BX와 같이 8비트와 16비트 레지스터에 접근할 수 있는 이름을 제공한다. MOV DX, WORD_MEM ; 첫 번째 피연산자에 레지스터 MOV WORD_MEM, CX ; 두 번째 피연산자에 레지스터 MOV DX, BX ; 두 개 피연산자에 레지스터 즉시 주소지정 -명령어에 피연산자(상수 값이나 식)을 포함하는 방식 ex) ..
레지스터 집합 범용 레지스터(General Purpose Register) -범용레지스터는 데이터를 임시로 저장하기 위해 주로 사용되며, 프로그래머가, 즉 소프트웨어적으로 임의로 접근 가능하다. 8086에는 16비트 범용 레지스터 AX, BX, CX, DX등이 있고, 상위 8비트와 하위 8비트를 각각 H(High)와 L(Low)로 접근할 수 있다. AX(Accumulator): 주 누산기(primary accumulator) -입출력과 대부분의 산술 연산에서 사용된다. 예를 들어, 곱셈, 나눗셈, 변환 명령어들은 AX의 사용을 가정한다. BX(Base) : 베이스 레지스터 -인덱스로 사용될 수 있는 유일한 범용 레지스터다. 또한 베이스 레지스터로서 인덱스 레지스터 DI나 SI와 결합될 수 있다. -BX의..

x86의 역사 8086 (1978) -16비트 프로세서: 16비트 레지스터와 16비트 데이터 버스 -20비트 주소 버스 : 1MB 주소 지정 가능 -한번에 하나의 프로그램을 실행하는 실제 모드(real mode)로 동작한다. 8088(1979) -8086과 달리 내부적으로 16비트 레지스터를 사용하지만, 외부 데이터 버스는 8비트 -8086과 버스 인터페이스 장치에서만 차이, 소프트웨어 호환 -IBM PC에 내장 80286 (1982) -24비트 주소 버스: 16MB 메모리 주소 지정 가능 -보호모드 지원: 멀티태스킹과 가상 메모리 80386(1985) -32비트 확장: 32비트 레지스터와 32비트 데이터 버스 2^32 byte = 4GB -4GB 주소 지정 가능 80486(1989) -캐시메모리와 수치..
명령어의 구성 요소 1.연산코드와 피연산자 -연산코드(Operation Code,Opcode): 1.기계(CPU)가 수행할 동작을 나타내는 코드이다. 2.명령어에서 '어떤 연산'인지를 나타내는 부분이다. -피연산자(Operand):연산(동작)의 대상. 주로 레지스터나 메모리상의 데이터가 그 대상이 된다. 2.명령어 코드의 형식 -명령어 코드의 비트열은 필드라고 불리는 몇 개의 그룹으로 나누어진다. 명령어 필드에 들어가는 요소들은 다음과 같다. →수행해야 할 연산을 명시한 연산 코드(Opcode)필드 →메모리의 주소나 레지스터, 즉 피연산자의 주소를 지정하는 주소(Address)필드 →피연산자의 유효 주소(effective address)가 결정되는 방법을 나타내는 모드 필드 -CPU설계에 따라 피연산자의..