Since the size of "Teach yourself 'Hello, world!' in 24 Languages" skyrocketed above the GTKYN level, I'll put this one here. More appropriate place, right?

Teach yourself "Hello, World!" in 6502 assembly

This example is for Commodore 64, and it's compileable with xa.

 
        .word $c000	; file header
*=$c000
MAIN:	LDX #$00
Loop:	LDA hello,x
	CMP #$00
	BEQ Out
	JSR CHROUT
	INX
	JMP Loop
Out:	RTS

hello:	.asc "hELLO, WORLD!"
	.byt 13,0

fUNNY cAPITALIZATION is because of PETSCII character set.

(CHROUT is a kernal (sic) routine that prints the character in accumulator to screen - I didn't bother to write a direct-screen-memory-addressing thing here, even when that would have been more portable to other 6502 systems...)

Another version that uses BASIC ROM routine (for those who are not afraid to use those eeeeevil Microsoft APIs):

 
        .word $c000	; file header
*=$c000
MAIN:	LDA #<hello
	LDY #>hello
	JSR $AB1E	; STROUT
Out:	RTS

hello:	.asc "hELLO, WORLD!"
	.byt 13,0

Some technical bits

Then, to make the node a bit more interesting, here is some information of the processor.

The processor has only stack space of 256 bytes in the first page ($0100-$01FF). Also note that it has only three actually usable registers (A,X,Y) and those are 8-bit registers! This poses some worthy challenges for the programmers, who so far have been extremely clever to overcome them...

Whether 6502 is RISC or CISC is very much debated. It does have quite a few CISCy things, notably the addressing modes, but there's a relatively small number of possible instructions and very limited number of processor registers (though that in other circles is considered a CISC thing), and the rumored non-existence of any kinds of microcode, which would indicate that design of 6502 was indeed very RISCy. Many insist calling it RISC, some say it's between them. Many call it CISC, probably quite justifiedly - there's a difference between "RISC" and "just quite damn headache-inducingly incapable processor" =)

6502 derivatives can address 64 kilobytes of memory. Too many lazy coders rely on this, which may be problematic for users of 65816...

6510 and other processors in Commodore 64 also had a "processor channel" at memory addresses $0000 and $0001; these memory locations had many interesting bits. Well, only three, actually: the first three bits of $0001 that toggled the "visibility" of BASIC, Kernal and Character ROM banks, respectively; if turned off, the RAM "underneath" them could be used for other purposes.

6502 versions

6502
Used in Commodore floppy drives, other 8-bit machines (VIC-20, Atari, Apple II)
6510
Used in older C64s
8500
Used in newer C64's - same processor, different pin layout
8502
Used in Commodore 128s.

Not 100% compatible versions:

65C02
C16, C116, Plus/4
65SC02
Small version of 65C02
65CE02
Extension of 65C02, used in Commodore 65 (the legendary not-widely-released machine)
65816
Extended 6502 with new opcodes and 16-bit operation modes

(the genealogy part taken from: http://www.chez.com/apple1/Docs/m6502/6502-6510-8500-8502%20Opcodes.htm )