Sanya
Sanya

Reputation: 1280

~~ Assembly language shift left confirmation

I'm having trouble understanding "arithmetic shift left". I have the following instruction:

SAL   $0x2, edx

Where edx = 0xFC

0xFC = 1111 1100

By shifting left 2 we should have:

1111 0000 = 0xF0

Correct?

Upvotes: 0

Views: 114

Answers (1)

CodeWarrior
CodeWarrior

Reputation: 538

Since edx is a 32-bit register, and edx = 0xFC (equivalent to edx = 11111100b), arithmetic shift left would result in 1111110000b, in other words, edx = 0x3F0

Upvotes: 1

Related Questions