분담2 MOVLHPS ~ MOVUPD 까지입니다

선준규 2007.03.06 19:29 조회 수 : 4851 추천:114

위 명령어들의 동작을 최대한 간단하게(;;) 요약해 보았습니다. 너무 간단하게 한건 아닌지 모르겠네요... 혹시 틀린점이 있거나 좀 더 자세한 내용을 원하시면 답글을 달아주세요~ ^^

MOVLHPS : xmm2의 하위 8바이트로부터 두개의 packed된 단일정밀도 실수형 값을 xmm1의 상위8바이트로 옮긴다
                예)MOVLHPS xmm1, xmm2        
MOVLPD   : m64로부터 정밀도2배 실수형 값을 mmx레지스터의 하위8바이트로 옮긴다.
        예)MOVLPD xmm, m64
        예)MOVLPD m64, xmm (위와 반대의 동작을 함)
MOVLPS   : m64로부터 단일정밀도 실수형 값을 mmx레지스터의 하위8바이트로 옮긴다.
        예)MOVLPS mmx, m64
        예)MOVLPS m64, mmx(반대의 동작)
MOVMSKPD : xmm으로부터 2비트의 부호마스크를 가져와 r32 또는 r64레지스터에 저장(store)한다
        예)MOVMSKPD r32, xmm
        예)MOVMSKPD r64, xmm
MOVMSKPS : xmm으로부터 4비트의 부호마스크를 가져와 r32또는 r64레지스터에 저장.
        예) 위와동일
MOVNTDQ : non-temporal hint(비-시간적 암시(?))를 이용하여 xmm의 16바이트를 16바이트크기의 메모리에 저장
        예) MOVNTDQ m128, xmm
MOVNTI : non-temporal hint를 이용하여 r32의 4바이트를 4바이트크기의 메모리에 이동
        예) MOVNTI m32, r32         (64비트크기도 적용가능)
MOVNTPD : non-temporal hint를 이용하여 xmm의 16바이트 정밀도2배 실수형 값을 16바이트 크기의 메모리에 이동
        예) MOVNTPD m128, xmm
MOVNTPS : non-temporal hint를 이용하여 xmm의 16바이트 단일정밀도 실수형 값을 16바이트 크기의 메모리에 이동
        예) MOVNTPS m128, xmm
MOVNTQ : non-temporal hint를 이용하여 MMX레지스터의 8바이트를 8바이트 크기의 메모리에 이동
        예) MOVNTQ m64, mm
MOVQ : xmm레지스터와 MMX레지스터, 메모리간의 8바이트 이동
        예) MOVQ mm, mm/m64
MOVQ2DQ : mmx의 8바이트를 xmm의 하위 8바이트로 이동
MOVS/MOVSB/MOVSW/MOVSD/MOVSQ : DS:(E)SI의 주소로부터 명령어 해당 바이트만큼 ES::(E)DI로 이동 (뒤에붙는 –B, -W등은 이동할 데이터의 크기를 나타냄)
        예) MOVS m8, m8
MOVSD : xmm2/m64로부터 스칼라 정밀도2배 실수형 값을 xmm1레지스터로 이동
        예) MOVSD xmm1, xmm2/m64
MOVSHDUP : xmm2/m128의 각 8바이트중 상위 32비트 오퍼랜드로부터 두개의 단일정밀도 실수형 값을 xmm1로 이동. 그리고 각 32비트 오퍼랜드를 각 8바이트중 하위 32비트에 복제한다.
        예) MOVSHDUP xmm1, xmm2/m128

MOVSLDUP : xmm2/m128의 각 8바이트중 하 32비트 오퍼랜드로부터 두개의 단일정밀도 실수형 값을 xmm1로 이동. 그리고 각 32비트 오퍼랜드를 각 8바이트중 상위 32비트에 복제한다.
        예) MOVSLDUP xmm1, xmm2/m128
MOVSS :
xmm2/m32의 스칼라 단일정밀도 실수형 값을 xmm1레지스터로 이동
        예) MOVSS xmm1, xmm2/m32
        xmm1레지스터의 스칼라 단일 정밀도 실수형 값을 xmm2/m32로 이동
        예) MOVSS xmm2/m32, xmm

MOVSX/MOVSXD :
        MOVSX r16, r/m8 : 바이트를 워드로 부호확장함
        MOVSX r32, r/m8 : 바이트를 더블워드로 부호확장함
        MOVSX r64, r/m8 : 바이트를 쿼드워드로 부호확장함
        MOVSX r32, r/m16 : 워드를 더블워드로 부호확장함
        MOVSX r64, r/m16 : 워드를 쿼드워드로 부호확장함
        MOVSXD r64, r/m32 : 더블워드를 쿼드워드로 부호확장함
        
MOVUPD : xmm2/m128 과 xmm1간의 packed된 정밀도2배 실수값 이동명령
        예) MOVUPD xmm1, xmm2/m128
        예) MOVUPD xmm2/m128, xmm1
번호 제목 글쓴이 날짜 조회 수
공지 [공지] 커널 스터디 관련 Q&A 게시판 입니다. [5] woos 2016.04.09 2198
185 volume 1. LIDT ~ LODS 입니다. 늦어서 죄송합니다;; 선준규 2007.03.10 2786
184 Vol.1의 CMPS ~ CVTPD2PS 입니다. 늦어서 죄송합니다. file 지현구 2007.03.10 64216
183 분담 5(PREFETCHh ~ RCL/RCR/ROL/ROR) 입니다. 늦어서 죄송합니다 file 지현구 2007.03.10 6260
182 저한테 저번주에 할당되어 있던 Instruction올립니다. 남용우 2007.03.09 3767
181 vol2의 분담3과 vol1 명령어입니다. 이종우 2007.03.09 3810
180 명령어 정리 - 늦어서 죄송.. 송형주 2007.03.09 14527
179 Instruction 정리. 남현우 2007.03.09 4745
178 EM64T Instruction 정리자료 Final 버전입니다. [1] file 김정수 2007.03.08 3804
177 분담 6 맥주 2007.03.08 3957
176 저번주에 할당되어 있던 Instruction도 올려주세요!!! 김정수 2007.03.07 4544
175 분담 4를 해석한 자료 올립니다. file 강형석 2007.03.07 3130
174 lilo 공부하실때 참고 할만한 자료 입니다. [5] 강형석 2007.03.07 3034
173 asm 강좌 문서 file 맥주 2007.03.06 4147
» 분담2 MOVLHPS ~ MOVUPD 까지입니다 선준규 2007.03.06 4851
171 메신저 주소 공유합시다!! [8] 김정수 2007.03.04 3672
170 "만들면서 배우는 OS 커널의 구조와 원리/김범준 저"에 오늘 공부했던 내용에 대해 쉽게 적혀있네요. [4] 김정수 2007.03.04 5380
169 EM64T_Guide [2] file 이종우 2007.03.04 3502
168 x86 아키텍쳐에 관한 동영상 강좌 링크입니다. [6] 남현우 2007.03.04 4413
167 3월 3일 LKSAS 두번째 모임 즐거웠습니다. [7] file 김정수 2007.03.04 5046
166 제송.... 제가 이번에 스터디 그룹에 참여하는데 아직 공부할 부분을 할당받지 못했는데요... [2] 강형석 2007.03.02 5261
XE Login