Dlaczego tak
Rozkaz MOV ładuje do rejestru AX wartość 5, ADD dodaje 3, więc AX = 8. Rozkaz SHL AX, 1 przesuwa bity o jedną pozycję w lewo, co odpowiada pomnożeniu przez 2 — wynik to 16. Wartość 4 otrzymałby ktoś, kto pomyli przesunięcie w lewo z przesunięciem w prawo (SHR), czyli dzieleniem przez 2, a 11 to wynik zastosowania przesunięcia tylko do liczby 3.