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