2016-09-28 2 views
0

"산술 좌 쉬움"을 이해하는 데 문제가 있습니다. 나는 다음과 같은 명령이 있습니다~ ~ 조립 언어 변경 왼쪽 확인

SAL $0x2, edx 

어디 우리가해야이 왼쪽으로 이동하여 edx = 0xFC

0xFC = 1111 1100 

: 올바른

1111 0000 = 0xF0 

를? edx 이후

+1

예이다. –

+1

음,'edx'는 8 비트 레지스터가 아닌 32 비트 레지스터입니다. –

+0

참이지만 16 진수 값은 여전히 ​​정확합니다, 그렇습니까? – Sanya

답변

1

아마 오버 플로우 플래그가 설정 (edx = 11111100b 상당)는 32 비트 레지스터 및 edx = 0xFC, 즉 1111110000b 초래 좌측 산술 시프트, edx = 0x3F0