There's a bug in there as Agent Smith says. You need to add 'jmp main' after 'int 10h', and then you need to make sure you modify the colour in the right place ie.
;-------------------------------------------------------------------------------------------
; How to plot a pixel in assembly language.
; Written in Fasm by shockwave ^ s!p
; This is just a very, very basic tutorial
; Yes, it's simple but it needed doing :P
; To help newbies to get something actually drawn on screen.
;-------------------------------------------------------------------------------------------
org 100h ; Set up mode 13h (VGA 320 X 200 ).
mov ax,13h
int 10h
jmp main ;Jim added this else it executes the data below as instructions!
;-------------------------------------------------------------------------------------------
colour db 10 ; Colour number (byte).
xposi dw 120 ; Xpos to plot (word).
yposi dw 120 ; Ypos to plot (word).
main: ; Main Loop.
;-------------------------------------------------------------------------------------------
plot:
mov ah,0ch ; We need to put 0ch into ah to tell it it's plotting a pixel.
mov al,[colour] ; The square brackets indicate that we load the contents and NOT the address.
mov bh,0 ; Page number.
mov cx,[xposi] ; Put the Xpos to plot into cx.
mov dx,[yposi] ; And the Ypos into dx.
int 10h
;Jim - modify the colour values here. If you do it later you will not be able to exit properly.
;-------------------------------------------------------------------------------------------
in al,60h ; Escape Pressed?
dec al
jnz main ; If not, go back to main.
;-------------------------------------------------------------------------------------------
mov ax, 4c00h ; Put things back to normal so we don't get an error on exit.
int 21h
Jim