Creo que estan todos bien...los he mirado por encima. Tan solo decir que para simplificar un poco el codigo en el ejecicio 4 yo haria asi
mov eax, 23
mov ebx, 39
cmp eax,ebx
jne distintos
invoke MessageBox, 0, 'eax y ebx son iguales', '', 0
invoke ExitProcess, 0
distintos:
invoke MessageBox, 0, 'eax y ebx son distintos', '', 0
invoke ExitProcess,0
Pero sabiendo que se trata de utilizar muchos saltos... esta bien como esta