2
\$\begingroup\$

This is a Hello World challenge! Those plain ones! Yeah....

However, it's different this time.

Because here, you can't use C or C++ or Stuck or ArnoldC or whatever you want. You can only choose raw x86 opcodes from this list, or any other x86 opcode lists.

It is also assuming you have no Protected Mode or any other thing, and you are in 16bit or 32bit Real Mode with nothin' loaded for ya'.

To represent a register, you can use something like [ECX] or [AL].

If you have to halt or for some reason display a trailing newline (i thought that would only happen in high-level languages!), do it.

Every byte or register is represented as one byte instead of 2.

This is a code-golf question. Whoever can do it with the least bytes wins. This is not a duplicate, and you can't use Linux (int 0x80) or DOS (int 0x21). You can't use ELF/i686 code either. It has to be plain raw machine code.

Have fun!

An example that prints 'A' in 16bit real mode and advances the cursor in 10 bytes (if you want Hello World, you will have to repeat this a million times, and each time changing the letter, which is in AL, and this is not an answer):

B0 [AH] [AH] 0E B0 [AL] [AL] 41 CD 10
\$\endgroup\$
6
  • 1
    \$\begingroup\$ This has no objective winning criteria. All programming contests here need one to decide who the winner is. It seems like you wanted code-golf here. (I only noticed because my dupe hammer didn't work :)) \$\endgroup\$
    – Blue
    Jan 24, 2017 at 9:19
  • \$\begingroup\$ Assuming this is code golf, this is just a language-specific version of our general Hello, World! challenge. Any answer to this could simply be posted there instead. There's an x86 answer and an x86_64 answer as well. If you think these aren't satisfactory, you could always earn some reputation and then offer a bounty to encourage better answers in your language of interest. \$\endgroup\$ Jan 24, 2017 at 9:41
  • \$\begingroup\$ Both x86 answers to the general question are OS specific. The challenge here is to write a program which relies only on the BIOS functions like INT 10h (a boot loader displaying "Hello world" without using any OS function). Not really code golf, hardly a programming puzzle, but I wouldn't call it a duplicate. \$\endgroup\$
    – G B
    Jan 24, 2017 at 9:51
  • \$\begingroup\$ @GB Nevertheless, that's a valid language choice for the general challenge. \$\endgroup\$ Jan 24, 2017 at 9:52
  • \$\begingroup\$ You have to only use those opcodes (also known as machine code) to make "Hello World!" as code-golf. Forgot to add that tag, sorry. \$\endgroup\$
    – 180Five
    Jan 24, 2017 at 11:17

0

Browse other questions tagged or ask your own question.