Ciao a tutti, devo fare un programma che dica se il numero inserito e' primo(Ris=1) o no(Ris=0)

Ecco il codice:

codice:
	
#include <stdio.h>

void main () {
	
	unsigned int Num=2;
	int Ris; // 1 se e' primo, 0 altrimenti 

	__asm {

                SUB EAX,EAX
		SUB EBX,EBX
		SUB ECX,ECX
		SUB EDX,EDX

		CMP Num,2
		JZ J1			;Salta se Num=2

		CMP Num,2
		JNGE J2			;Salta se Num<2

		MOV EAX,Num
		MOV EDX,2
		DIV	EDX			;EAX=MaxDiv=Num/2
		MOV EBX,2		;EBX=D=2

L1:

		MOV ECX, Num MOD EBX	;Resto=ECX= Num MOD D --- MOD restituisce il resto della divisione Num/D // non funziona-errore di compilazione

		CMP ECX,0
		JZ J3:				;Salta se ECX=0

		INC EBX				;D++

		CMP EBX,EAX
		JG J4				;Salta se D>MaxDiv

		JMP L1				;Loop
J1:
J4:
		MOV Ris,1

		
		JMP J5
J3:
J2:		MOV Ris,0

J5: 

        }

	printf ("Ris:%d\n",Ris);
}
Vorrei sapere come posso utilizzare l'operatore MOD, perche' il compilatore mi da' errore se scrivo in questo modo:

codice:
MOV ECX, Num MOD EBX
PS: non posso cambiare l'algoritmo e il codice in c.