2012-11-11 2 views
1

나는 이것들을 이해할 수 없다 : 그러한 명령 (FFREE, FDECSTP)의 사용은 무엇인가? fpu 스택에서 값을 팝핑하는 데 사용할 수 있습니까, 아니면 다른 용도로 사용할 수 있습니까? TNXFFREE와 FDECSTP의 사용

답변

4

예, FFREE, FINCSTP 등을 사용하여 FDECSTP 수동으로 FPU 스택을 관리 할 수 ​​있습니다,/누군가가 그것을 설명 할 수 없습니다 : 나는 그것을 얻을니까. FPU 스택은 CPU 스택과 유사하게 커지므로, 레지스터를 자유롭게 표시하고 스택 포인터를 증가시키면서 뭔가를 제거 (팝)하십시오.

당신은 한 번에 하나 개의 레지스터를 조작 할 수 있습니다 특히 이후, 전형적인 코드에서이 지침을 볼 수 없습니다. ADD ESP, x을 사용하는 CPU 스택의 경우 한 번에 여러 항목을 삭제할 수 있습니다. FPU 스택에서는 여러 항목을 삭제할 수 없습니다. 따라서 일반적으로 FFREE + FINCSTP 쌍 대신에 FSTP st(0)을 사용하여 하나의 항목을 삭제합니다. 항목을 할당 할 때는 일반적으로 초기화하려고하므로 FLD 변형을 사용하십시오.

+0

좋아,이게 내가 생각하는 완전한 대답이다, tnx –