수체계
10진수
- 0~9로 이루어진 수체계
2진수
- 0과 1로 이루어진 수체계
16진수
- 0~9, A~F로 이루어진 수체계
24D(2)
D : 13 => 1101(2)
4 => 100(2)
2 => 10(2)
24D(16) = 001001001101(2)
10진수 → 16진수
1324
① 1324/16 = 82.xx
1324 - (82×16) = 12 : C(16)
② 82/16 = 5.xx
82 - (5×16) = 2
③ 5/16 = 0.xx
5 - (0×16) = 5
1324 = 52C(16)
메모리
- 기본단위 : 1byte
주소 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
메모리 |
2A |
45 |
B8 |
20 |
8F |
CD |
12 |
2E |
- 단위
word 4byte double word 4byte quad word 8byte pharagraph 16byte
- 문자는 문자코드를 사용하여 저장
ASCII 하나의 문자를 인코딩하기 위해 1byte 사용
Unicode 하나의 문자를 인코딩하기 위해 2byte(1worD) 사용(ASCII보다 더 많은 문자 맵핑 가능)
Segment:Offset
- 메모리가 Segment라고 불리는 바이트의 집합으로부터 분리
- Segment는 Offset번호를지정하여 메모리에 접근
- 데이터에 접근할 때 Segment번호:Offset번호의 리퀘스트를 보낸다
ex)물리적 주소로 변환하기 : 1234:4321 => 1234×10h+4321 = 16661
레지스터
- 데이터를 저장할 수 있는 작은 영역
- 프로그램 실행 중 정보를 저장
- 레지스터 내의 저보 접근이 메모리에 접근하는 것보다 빠름
-레지스터 번호는 제한되어 있다.
일반적인 특성을 위한 레지스터(16비트로 구성) :
종류 |
구성 |
용도 |
AX |
AH, AL |
수학연산, I/O연산, INT 21 |
BX |
BH, BL |
Base 또는 Pointer |
CX |
CH, CL |
루프 or 반복 |
DX |
DH, DL |
다양한 데이터, 문자 출력 |
- 386이 나온 경우 새로운 레지스터 EAX, EBX, ECX, EDX가 추가됨(32비트로 확장)
EAX | |||
|
AH |
AL | |
AX |
세그먼트 레지스터 :
종류 |
용도 |
CS |
코드를 저장하는 메모리 블록 |
DS |
데이터를 저장하는 메모리 블록 |
EX |
비디오 관련된 것을위해 사용 |
SS |
루틴으로부터 리턴 어드레스 저장을 위해 프로세서에 의해서 사용되는 레지스터 |
인덱스 레지스터 :
종류 |
용도 |
SI |
문자열/배열의 소스를 지정하기 위해 사용 |
DI |
문자열/배열의 목적지를 지정하기 위해 사용 |
IP |
다음 명령의 주소를 저장하고 직접적으로 변경할 수 없음 |