MOS6510 assembly on a C=64


 reset
    LDX #$00
 cycle
    LDA hworld,X
    BEQ reset
    STX cache
    JSR $FFD2
    LDX cache
    INX
    JMP cycle
 hworld
 .text "Hello, World!"
 .byte 13,0
 cache
 .byte 0

submitted by: Almos Rajnai


And another smaller, better version


   lda #<text
   ldy #>text
   jsr $ab1e ; ROM message out routine
   rts
text  .text "HELLO WORLD!"
   .byte $0d,$00

submitted by: Paul M. Gardner-Stephen


This program is exactly 26 bytes long. It prints "Hello, world!" in the top left corner of the screen. It doesn't loop but exists after printing the text once.


start
  LDX #$0D
cycle
  LDA hworld,X
  STA $0400,X
  DEX
  BNE cycle
  RTS
hworld
..byte 0
..text "Hello, World!"

submitted by: Joona Palaste


This program can be made one byte shorter. Here is a 25-byte version:


start
  LDX #$0D
cycle
  LDA hworld,X
  STA $0400,X
  DEX
  BNE cycle
hworld
  RTS
  .text "Hello, World!"

submitted by: Joona Palaste