어셈블리어와 악성코드

어셈블리어 명령어 [SHL, SHR]과 Flag

YaluStar 2018. 11. 19. 08:00

어셈블리어 명령어 [SHL, SHR]과 Flag


어셈블리어에서 사용하는 명령어 SHL, SHR과 Flag에 대하여 알아보겠습니다.

SHL (Shift Left)

Destination 피연산자를 Source 피연산자의 크기만큼 왼쪽으로 각 비트를 시프트 시킨다.

최상위 비트는 캐리 플래그(CF)로 복사되고 최하위 비트는 0으로 채워진다.

SHL 명령어로 1번 이동할 때 마다 값이 2배씩 증가합니다.


SHR (Shift Right)

Destination 피연산자를 Source 피연산자의 크기만큼 오른쪽으로 각 비트를 시프트 시킨다.

최상위 비트는 0으로 채워지고 최하위 비트는 캐리 플래그(CF)로 복사된다.

SHR 명령어로 1번 이동할 때 마다 값이 2배씩 감소합니다.


SHL과 SHR은 사용하는 양식은 같습니다.

SHL(R) reg, imm

SHL(R) mem, imm8

SHL(R) reg, CL

SHL(R) mem, CL



Flag (플래그)

출처 : https://thestarman.pcministry.com/asm/debug/8086REGs.htm


Flag는 여러 종류가 있지만 주로 사용하는 FlagOF(Overflow Flag), ZF(Zero Flag), CF(Carry Flag)입니다.





이상으로 어셈블리어에서 사용하는 명령어 SHL, SHR과 Flag에 대하여 알아보았습니다.

감사합니다.


반응형