How do I use GNU Assembler?

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?

/r/asm Thread Parent