Page 1 of 1

Hello, World! (Не Колибри)

Posted: Fri Apr 15, 2011 6:32 pm
by Globalizer
мой привет миру :D
; сборка :
; gcc -c -ffreestanding -o kernel.o bootsector.S
; ld -o kernel.bin --oformat binary -Ttext 0x0000 kernel.o
; cat kernel.bin > /dev/fd0

.code 16
.text
jmp kernel_entry
kernel_entry:
cli
movw $0x7c0, %ax
movw %ax, %ds
movw $0x1000,%sp
sti

movw $hello_msg, %si

print_string:
movb (%si),%al
cmpb $0x00, %al
je kernel_exit

movb $0x0e, %ah
xorw %bx, %bx
int $0x10

incw %si
jmp print_string

kernel_exit:
hlt
jmp kernel_exit

hello_msg:
.asciz "Hello World!!!"

boot_signature:
.word 0xaa55

Re: Hello, World!

Posted: Fri Apr 15, 2011 6:58 pm
by Serge
1. А зачем jmp kernel_entry ?
2. ds загрузили а про ss забыли ?

Re: Hello, World!

Posted: Fri Apr 15, 2011 7:03 pm
by Globalizer
:mrgreen: пардон я немного намудрил с регистрами :mrgreen: но всё работает :) :) :)

насчёт пункта 1 - это загоняет комп в бесконечный цикл. Это необязательно???

это приветствие работает как отдельная ОСь :!:
так что приму к сведению все поправки.

Re: Hello, World!

Posted: Sat Apr 16, 2011 8:48 am
by Serge
В бесконечный цикл загоняет

Code: Select all

kernel_exit:
hlt
jmp kernel_exit 
а вот в чём сакральный смысл ?

Code: Select all

jmp kernel_entry
kernel_entry: 

Re: Hello, World!

Posted: Sat Apr 16, 2011 9:48 am
by Globalizer
а если
kernel_exit:
hlt

тупо выключить проц
а?

Re: Hello, World!

Posted: Sat Apr 16, 2011 12:28 pm
by Asper
Globalizer

Какое отношение данный Hello World имеет к Колибри?
Globalizer wrote:это приветствие работает как отдельная ОСь
Этому примеру до ОСи очень далеко, скорее это самый первый шаг в изучении ОСдева.
Globalizer wrote:а если
kernel_exit:
hlt

тупо выключить проц
а?
А если немного почитать?

Re: Hello, World!

Posted: Sat Apr 16, 2011 7:01 pm
by Globalizer
к колибри это не имеет никакого отношения.

Re: Hello, World! (Не Колибри)

Posted: Mon Apr 18, 2011 7:25 am
by Mario
Выделил сообщения в отдельную тему, хотя стоило бы грохнуть. Форум имеет отношение к Колибри и всем что вертится вокруг нее. Для начинающих кулхацкеров осеписателей есть другие ресурсы, где им будут безмерно рады.