Assembler czy liczba jest podzielna

Witam, mam problem z napisaniem programu w assemblerze. Program wydaje się błachy, ale spędziłem już nad nim parę godzin.
Program ma zwracać 1 jeśli liczba jest podzielna i 0 jeśli nie. Liczba ma być typu word.

#include
using namespace std;

__int16 liczba = 18;

int main()
{
__asm
{
mov AX, liczba;
shl AX, 12;
shr AX, 12;
and AX, 15;

  mov liczba, AX;

}

cout << liczba;

cin.get();

return 0;
}

Program zwraca tylko wartość 1 gdy liczba jest podzielna przez 16, ale nie mam zielonego pojęcia jak zrobić, żeby program wypisywał 0 gdy liczba nie jest podzielna przez 16.

Będę bardzo wdzięczny za pomoc :slight_smile: