Revision 69a6e27a-86b9-4f99-b204-04d1a1e09d78 - Code Golf Stack Exchange
# [dc], 164 bytes
zzzzzzzC*PzzzzzzzzzzzzzzzzzzzzzzzzzzzS zzS?zzzzzzzzzzzzS$zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzSwzzzzzzzzzzzzzzzPzzzzzzzzSLzPzPzzzzPL$PL PLwPzPzzzzPLLPAI*PL?P
[Try it online!][TIO-jeh5xf7w]
There's likely a better/more interesting approach. I tried using the ASCII+256 trick that `dc` has, but that outputs additional characters as well (even if they're non-printing), and once I got to 'o', the wonderfully prime 111, I ran into trouble even getting a value of 111+(multiple of 256) that factored cleanly. So here's a fairly straightforward (albeit golfed where possible) solution:
In `dc`, `z` is a command that pushes the stack depth onto the stack. That means we can use it as an increment. This is how I create most of my ASCII values for this challenge (printed with `P`), which I push onto named stacks with `S` and pop back onto the main stack with `L`.
`dc` lets you use the hex values A-F even when the input radix is decimal (default). Luckily, our first letter, 72, is a multiple of 12, so I save a byte or two here by multiplying 6*12 and printing immediately (`zzzzzzzC*P`). From there, I increment and save the space, the exclamation point, the comma, and the 'W' - these are out of order, so I can't print them yet.
I simply print when I hit the 'e', then I increment up to 'l'. I print two of those and save one. When I make it to 'o', I first thought I'd have to save one of those for later, but everything is _kind of_ in order at this point. I print an 'o', retrieve my comma, space, and 'W' from earlier, and now I'm right back to 'o'. I print this, and increment a few up to the highest necessary value, 'r' (114), which I print before loading and printing the 'l' I tucked away earlier.
Almost done! 'd' is ASCII value 100, which is easily made by multiplying 10*10 (fewer bytes than having stored it earlier and loading it now). Hex value `A` is 10, as is our input radix which we can retrieve with the command `I`. Multiply those, print, and then load and print our exclamation point from earlier. Hello, World!
[dc]: https://www.gnu.org/software/bc/manual/dc-1.05/html_mono/dc.html
[TIO-jeh5xf7w]: https://tio.run/##S0n@/78KApy1Aqpwg2AFILZHEVGpIgEEl6MJwC0L9gGywbwAH5UAH4UAn3I43yfA0VMrwMc@4P9/AA "dc – Try It Online"