static inline void emms(void) { __asm __volatile ("emms;":::"memory"); }
nasm 을 쓰는 리눅스용 C 쏘스중 일부입니다..
이걸 Windows로 고쳐야하는데, 위의 어셈블리의 의미를
모르겠습니다. 아울러 Windows 용 인라인 어셈으론 어떻게
고치면 될까요..? 고수님들의 조언 부탁드립니다.
nasm의 포멧은 잘 모르겠구요... ^^;
x86 asm 에서 emms 명령은 MMX 관련 명령입니다. MMX 가 동작하는 방식이 기존의 CPU에 탑재된 FPU 쪽의 레지스터를 사용하는 방식인데요, 이 레지스터 부분이 실수연산용으로 사용되는 모드와 MMX로 사용되는 모드가 구분되고, 이 모드 전환에 사용되는 명령이 emms 입니다.
실수연산 모드 -> MMX명령 중 하나 -> MMX 모드 -> emms -> 실수연산 모드 복귀
처럼 MMX 모드에서 실수연산 모드로 복귀할 때 사용하는 명령입니다.
nasm의 포멧은 잘 모르겠구요... ^^;x86 asm 에서 e
nasm의 포멧은 잘 모르겠구요... ^^;
x86 asm 에서 emms 명령은 MMX 관련 명령입니다.
MMX 가 동작하는 방식이 기존의 CPU에 탑재된 FPU 쪽의 레지스터를 사용하는 방식인데요, 이 레지스터 부분이 실수연산용으로 사용되는 모드와 MMX로 사용되는 모드가 구분되고, 이 모드 전환에 사용되는 명령이 emms 입니다.
실수연산 모드 -> MMX명령 중 하나 -> MMX 모드 -> emms -> 실수연산 모드 복귀
처럼 MMX 모드에서 실수연산 모드로 복귀할 때 사용하는 명령입니다.