Oi vey, sar is sign-extending, which is not what we want

This commit is contained in:
Nero 2019-09-10 13:44:44 +00:00
parent cd258ccbe4
commit e4dec4b14c

View File

@ -5,21 +5,21 @@ popcnt:
mov bx, ax
and ax, 0x5555 ; 8x 01
and bx, 0xaaaa ; 8x 10
sar bx, 1
shr bx, 1
add ax, bx
mov bx, ax
and ax, 0x3333 ; 4x 0011
and bx, 0xcccc ; 4x 1100
mov cl, 2
sar bx, cl
shr bx, cl
add ax, bx
mov bx, ax
and ax, 0x0f0f ; 2x 00001111
and bx, 0xf0f0 ; 2x 11110000
mov cl, 4
sar bx, cl
shr bx, cl
add ax, bx
add al, ah