#R16K1S60, 42 40 bytes
##Program:
C301 000D 0001 5180 2C20 A539 0008 5100 C589 00FF 4701 0003 1000 4865 6C6C 6F2C 2057 6F72 6C64 2100 ##Source:
[C301 000D] mov sp,hello ;set the stack pointer to the start of the message [0001 ] dw 1 ;do nothing + skip next instruction loop: [5180] send 0,cx ;output cx (skipped the first time) [2C20] pop bx ;read a value into register bx [A539 0008] shr bx,cx,8 ;copy bx into cx, shift bx 8 bits to the right [5100] send 0,bx ;output bx [C589 00FF] @flags and cx,0xFF ;get the lower 8 bits of cx [4701 0003] jnz loop ;repeat if cx is not 0 exit: [1000] hlt ;end hello: [4865 6C6C 6F2C 2057 6F72 6C64 2100] db "Hello, World!" ;byte data