;kód szegmens kod segment para public 'code' assume cs:kod,ds:adat,ss:verem,es:nothing start: push ds ;visszatérés segmensének mentése xor ax, ax ;offset mindig 0 push ax ;visszatérés offsetjének mentése mov ax, adat ;mert nincsen 'mov ds, adat' mov ds, ax ;főprogram kezdete mov al, 0 ;al-ben lesz az akt. betű mov cl, 0 ;számláló mov si, offset text kov: mov al, [si] ;betöltjük a köv. betűt cmp al, 0 ;elérkeztünk a végére? je vege ;ha igen, ugrik a végére cmp al, source ;kell-e számolni jne nemszamol ;ha nem kell inc cl ;noveli a számlálót nemszamol: inc si jmp kov vege: mov n, cl ;n-be rakjuk a végeredményt retf ;visszatérés a hívó programhoz kod ends ;adat szegmens adat segment para public 'data' source db "a" n db 0 text db "aladar bela cecil denes", 0 adat ends ;verem szegmens verem segment para stack dw 64 dup (0) ;helyfoglalás verem ends end start