Originariamente inviato da Luc@s
codice:
[BITS 16]
[ORG 0100h] ; for .com

[SECTION .text]

start:
	mov ax, 100 ; set ax to 10
	cmp ax, 10; compare ax with 10 values
	je OK ; jump if ax = 10
	JNE NO ; jump if ax NOT 10
OK:
	mov dx, Message_OK ; Message_OK = ds:dx
	or ah, ah ; set ah to 0
	mov ah, 09h ; set int 21h service 09h
	int 21h
	ret 
NO:
	mov dx, Message_NO ; Message_NO = ds:dx
	or ah, ah ; set ah to 0
	mov ah, 09h ; set int 21h service 09h
	int 21h
	ret 
	
	; set int 21h service 4Ch(exit)
	mov ah, 4Ch
	int 21h

[SECTION .data]

Message_OK db 'AX is equals 10', 13, 10, '$'
Message_NO db 'AX is NOT equals 10', 13, 10, '$'
Indi sto code in C sarebbe + o -
codice:
#include <stdio.h>

int main()
{
    unsigned int a = 0;
    if(a == 0){
       puts("AX is equals 10");
    }else {
       puts("AX is NOT equals 10");
    }
    return 0;
}
oppure per gli .exe:

codice:
.model small
.stack 100h

.data

stringa1 db 'AX è uguale a 10$'
stringa2 db 'AX non è uguale a 10$'

.code

mov ax,@data
mov ds,ax

mov ax, 10 ;========qua puoi mettere qualunque valore=======

cmp ax, 10
jz ok

lea dx, stringa2
mov ah,9h
int 21h

jmp fine

ok:
lea dx, stringa1
mov ah, 9h
int 21h

fine:
mov ah,4ch
int 21h

end
sub destiny, source serve per sottrarre..