[esigcode]
keterangan : 0x0 manandai bootable
ok kali ini akan kita bahas sekilas beberapa freebsd kernel init.

kita mulai dari sini:
============
[c0474817:    e8 ac 00 00 00           call   c04748c8 <esigcode>]
============

kita lihat pada alamat memori kernel c0474817 ada pemanggilan fungsi 
esigcode, mari kita lihat fungsi esigcode:

esigcode akan menentukan apakah akan menggunakan newboot atau olddiskboot
==================
c04748c8 <esigcode>:
c04748c8:    83 7d 04 00              cmpl   $0x0,0x4(%ebp)
c04748cc:    74 7d                    je     c047494b <olddiskboot>
c04748ce:    83 7d 18 00              cmpl   $0x0,0x18(%ebp)
c04748d2:    74 01                    je     c04748d5 <newboot>
c04748d4:    f4                           hlt   
===================

pada alamat c04748c8 - cmpl   $0x0,0x4(%ebp) - membandingkan nilai yang 
tersimpan pada [ebp + 4 hexa] dengan 0x0
jika match  akan dijump  ke alamat   c047494b <olddiskboot>


<olddiskboot>
==========
c047494b <olddiskboot>:
c047494b:    8b 45 08                 mov    0x8(%ebp),%eax

di sini nilai yang disimpan pada [ebp+8]  akan disimpan di register eax

c047494e:    a3 e0 6c df 00           mov    %eax,0xdf6ce0

selanjutnya nilai dari eax akan disimpan di alamat memori 0xdf6ce0

c0474953:    8b 45 0c                 mov    0xc(%ebp),%eax

nilai yang disimpan pada [ebp+0xc] kemudian diisikan ke register eax

c0474956:    a3 80 1b e6 00           mov    %eax,0xe61b80

selanjutnya nilai eax akan disimpan di alamat memori 0xe61b80

c047495b:    c3                               ret   

kembali lagi ke c04748ce
=============
c04748ce:    83 7d 18 00              cmpl   $0x0,0x18(%ebp)

setelah operasi olddiskboot ebp+18 hexa apakah sudah 0x0 ??

c04748d2:    74 01                    je     c04748d5 <newboot>

jika ya maka lakukan newboot.


c04748d4:    f4                           hlt   

jika tidak maka kernel melakukan hlt yang merupakan instruksi untuk 
menghentikan aktivitas cpu.