○ IRET/IRETD - Interrupt Return
인터럽트 핸들러가 임무를 마치고 나면 IRET을 통해 호출한 지점으로 복귀.
예) IRET, IRETD, IRETQ
○ Jcc-Jump if Condition is Met
조건(eflags의 플래그 상태, 레지스터 값)에 따라 점프.
예) JA, JAE, JB, JBE, JC, JCXZ, JECXZ, JE, JG, JGE, JL, JLE, JNA, JNAE, JNB, JNBE
JNC, JNE, JNG, JNGE, JNL, JNLE, JNO, JNP, JNS, JO, JP, JPE, JPO, JS, JZ, JA, JAE
JB, JBE, JC.......
○ JMP-Jump
정해진 위치로 점프한다.
Flags Affected
태스크 스위칭은 flags에 영향을 주게된다.
예) JMP rel8, JMP rel16, JMP rel32, JMP r/m16, JMP r/m32 ....
○ LAHF-Load Status Flags into AH Register
ELFAGS레지스터를 AH레지스터에 저장.
예)LAHF
○ SSUFPS-Shuffle Packed Single-Precision Floating-Point Values
단일 정밀도 FP연산자의 부동소수점 값을 섞는다.
예)SHUFPS xmm1, xmm2/m128, imm8
○ SIDT
Interrupt Descriptor Table을 레지스터에 저장
예)SIDT
○ SLDT
Local Descriptor Table을 레지스터에 저장.
예)SLDT r/m16
○ SMSW-Sotre Machine Status Word
시스템상태(CRO)을 저장.
예)SMSW r/m16
○ SQRTPD-Compute Square Roots of Packed Double-Precision Floating-Point
Double 부동소수점 제곱근을 계산.
예) SQRTPD xmm1, xmm2/m128
○ SQRTPS-Compute Square Roots of Packed Single-Precision Floating-Point
Single 부동소수점 제곱근을 계산.
예) SQRTPS xmm1, xmm2/m128
○ SQRTSD-Compute Square Root of Scalar Double-Precision Floating-Point Value
Scalar Double 부동소수점 제곱근을 계산.
예) SQRTSD xmm1, xmm2/m64
○ SQRTSS-Compute Square Root of Scalar Single-Precision Floating-Point Value
Scalar Single 부동소수점 제곱근을 계산
예) SQRTSS xmm1, xmm2/m32
○ STC-SetCarryFlag
CF flag를 set 한다.
예)STC
○ STI-Set Interrupt Flag
IF Flag를 set 한다. 인터럽트가 허용.
예)STI
○ STMXCSR-Store MXCSR Register State
MSCSR 제어/상태 레지스터를 저장한다.
예)STMXCSR m32
○ STOS/STOSB/STOSW/STOSD/STOSQ-Store String
바이트로 구성된 스트링에 적용되며 메모리에 전송되게 한다.
예)STOS m8/m16/m32/m64/, STOSB, STOSW, STOSD, STOSQ
○ STR-Store Task Register
TR(Task Register)을 저장.
예)STR r/m16
○ SUB-Subtract
산술 연산 명령. 뺄셈.
예) SUB AL/AX/EAX/RAX, imm8/imm16/imm32 …..
○ SUBPD-Subtract Packed Double-Precision Floating-Point Values
scalar double-precision floating-point 값의 뺄셈.
예) SUBPD xmm1, xmm2/m128
○ SUBPS-Subtract Packed Single-Precision Floating-Point Values
scalar single-precision floating-point 값의 뺄셈.
예) SUBPS xmm1 xmm2/m128
○ SUBSD-Subtract Scalar Double-Precision Floating-Point Values
scalar low double-precision floating-point 값의 뺄셈.
예) SUBSD xmm1, xmm2/m64
○ SUBSS-Subtract Scalar Single-Precision Floating-Point Values
scalar low single-precision floating-point 값의 뺄셈.
예) SUBSS xmm1, xmm2/m32
○ SWAPGS-Swap GS Base Register
현재 GS레지스터를 MSR(Model specify registers) adress C0000102h 번지의 값으로 변경한다.
예)SWAPGS
○ SYSCALL-Fast System Call
권한레벨 0의 시스템 프로시져를 Fast Call.
예)SYSCALL
○ SYSENTER-Fast System Call
권한레벨 0의 시스템 프로시져를 Fast Call.
예)SYSENTER
첫모임에서 할당받은 부분과 저번주에 선택한 분담7 부분입니다.
인터럽트 핸들러가 임무를 마치고 나면 IRET을 통해 호출한 지점으로 복귀.
예) IRET, IRETD, IRETQ
○ Jcc-Jump if Condition is Met
조건(eflags의 플래그 상태, 레지스터 값)에 따라 점프.
예) JA, JAE, JB, JBE, JC, JCXZ, JECXZ, JE, JG, JGE, JL, JLE, JNA, JNAE, JNB, JNBE
JNC, JNE, JNG, JNGE, JNL, JNLE, JNO, JNP, JNS, JO, JP, JPE, JPO, JS, JZ, JA, JAE
JB, JBE, JC.......
○ JMP-Jump
정해진 위치로 점프한다.
Flags Affected
태스크 스위칭은 flags에 영향을 주게된다.
예) JMP rel8, JMP rel16, JMP rel32, JMP r/m16, JMP r/m32 ....
○ LAHF-Load Status Flags into AH Register
ELFAGS레지스터를 AH레지스터에 저장.
예)LAHF
○ SSUFPS-Shuffle Packed Single-Precision Floating-Point Values
단일 정밀도 FP연산자의 부동소수점 값을 섞는다.
예)SHUFPS xmm1, xmm2/m128, imm8
○ SIDT
Interrupt Descriptor Table을 레지스터에 저장
예)SIDT
○ SLDT
Local Descriptor Table을 레지스터에 저장.
예)SLDT r/m16
○ SMSW-Sotre Machine Status Word
시스템상태(CRO)을 저장.
예)SMSW r/m16
○ SQRTPD-Compute Square Roots of Packed Double-Precision Floating-Point
Double 부동소수점 제곱근을 계산.
예) SQRTPD xmm1, xmm2/m128
○ SQRTPS-Compute Square Roots of Packed Single-Precision Floating-Point
Single 부동소수점 제곱근을 계산.
예) SQRTPS xmm1, xmm2/m128
○ SQRTSD-Compute Square Root of Scalar Double-Precision Floating-Point Value
Scalar Double 부동소수점 제곱근을 계산.
예) SQRTSD xmm1, xmm2/m64
○ SQRTSS-Compute Square Root of Scalar Single-Precision Floating-Point Value
Scalar Single 부동소수점 제곱근을 계산
예) SQRTSS xmm1, xmm2/m32
○ STC-SetCarryFlag
CF flag를 set 한다.
예)STC
○ STI-Set Interrupt Flag
IF Flag를 set 한다. 인터럽트가 허용.
예)STI
○ STMXCSR-Store MXCSR Register State
MSCSR 제어/상태 레지스터를 저장한다.
예)STMXCSR m32
○ STOS/STOSB/STOSW/STOSD/STOSQ-Store String
바이트로 구성된 스트링에 적용되며 메모리에 전송되게 한다.
예)STOS m8/m16/m32/m64/, STOSB, STOSW, STOSD, STOSQ
○ STR-Store Task Register
TR(Task Register)을 저장.
예)STR r/m16
○ SUB-Subtract
산술 연산 명령. 뺄셈.
예) SUB AL/AX/EAX/RAX, imm8/imm16/imm32 …..
○ SUBPD-Subtract Packed Double-Precision Floating-Point Values
scalar double-precision floating-point 값의 뺄셈.
예) SUBPD xmm1, xmm2/m128
○ SUBPS-Subtract Packed Single-Precision Floating-Point Values
scalar single-precision floating-point 값의 뺄셈.
예) SUBPS xmm1 xmm2/m128
○ SUBSD-Subtract Scalar Double-Precision Floating-Point Values
scalar low double-precision floating-point 값의 뺄셈.
예) SUBSD xmm1, xmm2/m64
○ SUBSS-Subtract Scalar Single-Precision Floating-Point Values
scalar low single-precision floating-point 값의 뺄셈.
예) SUBSS xmm1, xmm2/m32
○ SWAPGS-Swap GS Base Register
현재 GS레지스터를 MSR(Model specify registers) adress C0000102h 번지의 값으로 변경한다.
예)SWAPGS
○ SYSCALL-Fast System Call
권한레벨 0의 시스템 프로시져를 Fast Call.
예)SYSCALL
○ SYSENTER-Fast System Call
권한레벨 0의 시스템 프로시져를 Fast Call.
예)SYSENTER
첫모임에서 할당받은 부분과 저번주에 선택한 분담7 부분입니다.
댓글 0
.