8087 수학 보조연산장치의 데이터 전송 명령어
테이블 목차
- 소개
- 8087 수학 보조연산장치 소개
- 8087 명령어 종류
- 데이터 전송 명령어
- 산술 명령어
- 비교 명령어
- 초월 명령어
- 상수 로드 명령어
- 프로세서 제어 명령어
- 실수 전송 명령어
- FLD
- FST
- FSTP
- FXCH
- 정수 전송 명령어
- FILD
- FIST
- FISTP
- 팩트 십진수 전송 명령어
- FBLD
- FBSTP
- 요약
- 자주 묻는 질문
📚 2. 8087 수학 보조연산장치 소개
8087 수학 보조연산장치는 8086 및 8088 마이크로프로세서의 보조연산장치로 사용됩니다. 이 보조연산장치는 독자적인 명령어 집합과 아키텍처를 가지고 있습니다. 8087 명령어 집합은 연산의 종류에 따라 다양한 카테고리로 분류됩니다. 여기서는 데이터 전송 명령어에 대해서 알아보겠습니다. 데이터 전송 명령어는 데이터를 한 위치에서 다른 위치로 전송하는 명령어로 분류됩니다.
📚 3. 8087 명령어 종류
8087 수학 보조연산장치의 명령어는 다음과 같이 데이터 전송, 산술, 비교, 초월, 상수 로드, 프로세서 제어 명령어로 분류됩니다.
3.1 데이터 전송 명령어
데이터 전송 명령어는 데이터를 한 위치에서 다른 위치로 전송하는 명령어입니다. 이 명령어들은 실수 전송, 정수 전송, 팩트 십진수 전송으로 세 가지 카테고리로 나뉘어집니다.
3.1.1 실수 전송 명령어
실수 전송 명령어는 실수 데이터를 전송하는 명령어입니다. 예를 들면 FLD, FST, FSTP, FXCH 등이 있습니다.
3.1.2 정수 전송 명령어
정수 전송 명령어는 정수 데이터를 전송하는 명령어입니다. FILD, FIST, FISTP 등이 여기에 해당됩니다.
3.1.3 팩트 십진수 전송 명령어
팩트 십진수 전송 명령어는 팩트 십진수 데이터를 전송하는 명령어입니다. FBLD, FBSTP가 여기에 속합니다.
3.2 산술 명령어
산술 명령어는 수학적 연산을 수행하는 명령어입니다.
3.3 비교 명령어
비교 명령어는 데이터를 비교하여 조건에 따라 분기하는 명령어입니다.
3.4 초월 명령어
초월 명령어는 지수, 로그 등의 초월 함수를 계산하는 명령어입니다.
3.5 상수 로드 명령어
상수 로드 명령어는 상수 값을 메모리로부터 레지스터로 로드하는 명령어입니다.
3.6 프로세서 제어 명령어
프로세서 제어 명령어는 보조연산장치 동작을 제어하는 명령어입니다.
📚 4. 실수 전송 명령어
실수 전송 명령어는 실수 데이터를 전송하는 명령어로, FLD, FST, FSTP, FXCH 등 명령어가 있습니다.
FLD 명령어는 스택 또는 메모리에 저장된 실수 데이터를 SD(Summary Data)에 로드하는 명령어입니다. 예를 들어 FLD ST(2)는 ST2에 저장된 실수 데이터를 SD에 복사합니다. 또한, FLD DX는 BX 레지스터가 가리키는 메모리 위치에 저장된 실수 데이터를 SD에 로드합니다.
FST 명령어는 SD에 저장된 실수 데이터를 지정한 대상으로 저장하는 명령어입니다. 예를 들면 FST ST(3)는 SD에 있는 실수 데이터를 ST3에 저장합니다. 또한, FST BX는 SD에 있는 실수 데이터를 BX 레지스터가 가리키는 메모리 위치에 저장합니다.
FSTP 명령어는 SD에 저장된 실수 데이터를 지정한 대상으로 저장하고, 스택 포인터(ST)를 증가시키는 명령어입니다. 예를 들면 FSTP ST(3)은 SD에 있는 실수 데이터를 ST3에 저장하고, ST를 1만큼 증가시킵니다.
FXCH 명령어는 ST에 있는 실수 데이터와 지정한 대상의 실수 데이터를 교환하는 명령어입니다. 예를 들면 FXCH ST(4)는 ST4의 데이터와 SD의 데이터를 교환합니다.
📚 5. 정수 전송 명령어
정수 전송 명령어는 정수 데이터를 전송하는 명령어로, FILD, FIST, FISTP 등 명령어가 있습니다.
FILD 명령어는 메모리에 저장된 정수 데이터를 SD에 로드하는 명령어입니다. 예를 들어 FILD [BX]는 BX가 가리키는 메모리 위치에 저장된 정수 데이터를 SD에 로드합니다.
FIST 명령어는 SD에 있는 실수 데이터를 정수로 변환하여 목적지에 저장하는 명령어입니다. 예를 들면 FIST [BX]는 SD에 있는 실수 데이터를 정수로 변환하여 BX가 가리키는 메모리 위치에 저장합니다.
FISTP 명령어는 SD에 있는 실수 데이터를 정수로 변환하여 목적지에 저장하고, 스택 포인터(ST)를 증가시키는 명령어입니다. 예를 들면 FISTP [BX]는 SD에 있는 실수 데이터를 정수로 변환하여 BX가 가리키는 메모리 위치에 저장하고, ST를 1만큼 증가시킵니다.
📚 6. 팩트 십진수 전송 명령어
팩트 십진수 전송 명령어는 BCD(Binary Coded Decimal) 형식의 데이터를 전송하는 명령어로, FBLD와 FBSTP 명령어가 있습니다.
FBLD 명령어는 메모리에 저장된 BCD 형식의 데이터를 SD에 로드하는 명령어입니다. 예를 들어 FBLD amount는 amount라는 메모리 위치에 저장된 BCD 형식의 데이터를 SD에 로드합니다.
FBSTP 명령어는 SD에 있는 BCD 형식의 데이터를 메모리에 저장한 후, 스택에서 데이터를 팝(Pop)하는 명령어입니다. 예를 들면 FBSTP int_num은 SD에 있는 BCD 형식의 데이터를 int_num이라는 메모리 위치에 저장한 후, ST에서 데이터를 팝합니다.
📚 7. 요약
8087 수학 보조연산장치는 8086 및 8088 마이크로프로세서의 보조연산장치로 사용됩니다. 명령어는 데이터 전송, 산술, 비교, 초월, 상수 로드, 프로세서 제어 명령어로 분류됩니다. 데이터 전송 명령어는 실수 전송, 정수 전송, 팩트 십진수 전송 세 가지로 나뉘어집니다. 각각의 명령어는 해당하는 목적에 맞게 사용됩니다.
자주 묻는 질문 (FAQ)
Q: 8087 수학 보조연산장치의 역할은 무엇인가요?
A: 8087은 8086 및 8088 마이크로프로세서와 함께 사용되는 보조연산장치로, 수학적 연산을 보조하는 역할을 합니다.
Q: 데이터 전송 명령어에는 어떤 종류가 있나요?
A: 데이터 전송 명령어에는 실수 전송, 정수 전송, 팩트 십진수 전송 명령어가 있습니다.
Q: 실수 전송 명령어와 정수 전송 명령어의 차이는 무엇인가요?
A: 실수 전송 명령어는 실수 데이터를 처리하는데 사용되고, 정수 전송 명령어는 정수 데이터를 처리하는데 사용됩니다.
Q: 팩트 십진수 전송 명령어는 어떤 데이터를 처리할까요?
A: 팩트 십진수 전송 명령어는 BCD(Binary Coded Decimal) 형식의 데이터를 처리합니다.
Q: 8087 수학 보조연산장치를 사용하는 이점이 있나요?
A: 8087을 사용하면 수학적 연산을 더 빠르고 정확하게 처리할 수 있습니다.
자료 참고: