분담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 2197
1745 x86 interrupt & instruction table file 백창우 2007.02.23 9190
1744 x86 linux booting 과정 file 백창우 2007.02.23 12734
1743 아키텍쳐에 관련된 내용입니다. [6] file 원민수 2007.02.25 7234
1742 논의사항 [7] 백창우 2007.02.26 4657
1741 Power architecture roadmap이라네요. [17] 정필섭 2007.02.26 4817
1740 첫째날에 공부한 내용 정리한번 해보는게 어떨까요?? 여러분의 의견을 묻습니다. [8] file 김정수 2007.02.26 7255
1739 [re] 제본 신청 하실분 댓글 달아 주세요. [17] 정필섭 2007.02.28 4870
1738 Power ISA 2.03 외 기타 문서. [6] 김형진 2007.02.28 5294
1737 [수정] 스터디 문서 분량을 나누겠습니다. [3] 정필섭 2007.03.02 5190
1736 제송.... 제가 이번에 스터디 그룹에 참여하는데 아직 공부할 부분을 할당받지 못했는데요... [2] 강형석 2007.03.02 5261
1735 power architecture의 역사와 미래 [2] file 백창우 2007.03.03 5179
1734 3월 3일 LKSAS 두번째 모임 즐거웠습니다. [7] file 김정수 2007.03.04 5046
1733 x86 아키텍쳐에 관한 동영상 강좌 링크입니다. [6] 남현우 2007.03.04 4413
1732 EM64T_Guide [2] file 이종우 2007.03.04 3502
1731 "만들면서 배우는 OS 커널의 구조와 원리/김범준 저"에 오늘 공부했던 내용에 대해 쉽게 적혀있네요. [4] 김정수 2007.03.04 5380
1730 메신저 주소 공유합시다!! [8] 김정수 2007.03.04 3672
1729 [질문] POSIX 표준 함수들의 소스 [4] 김강년 2007.03.05 5602
» 분담2 MOVLHPS ~ MOVUPD 까지입니다 선준규 2007.03.06 4851
1727 asm 강좌 문서 file 맥주 2007.03.06 4147
1726 lilo 공부하실때 참고 할만한 자료 입니다. [5] 강형석 2007.03.07 3034
XE Login