Here is what the tutorial is doing:
boot.s:
.code16
.global init # makes our label "init" available to the outside
init: # this is the beginning of our binary later.
jmp init # jump to "init"
Commands run:
as -o boot.o boot.s
ld -o boot.bin --oformat binary -e init boot.o
ls -lh .
Output:
3 boot.bin
784 boot.o
152 boot.s
Here's what I'm doing:
boot.s:
.code16
.global init # makes our label "init" available to the outside
init: # this is the beginning of our binary later.
jmp init # jump to "init"
Commands run:
as -o boot.o boot.s
ld -o boot.bin --oformat binary -e init boot.o
ls -lh .
Output:
total 16K
-rwxr-xr-x 1 tk tk 4.1K Mar 17 03:43 boot.bin
-rw-r--r-- 1 tk tk 752 Mar 17 03:43 boot.o
-rw-r--r-- 1 tk tk 151 Mar 17 03:43 boot.s
3 boot.bin
784 boot.o
152 boot.s
So no, you assumed wrong. I'm following the tutorial exactly. What the hell did you have to do to get 2 bytes?