Code: Select all
(0).[44978685] [0x0000000000011038] 0008:0000000000011038 (unk. ctxt): (invalid) ; ffff
Next at t=44978686
(0) [0x00000000fffffff0] f000:fff0 (unk. ctxt): jmp far f000:e05b ; ea5be000f0
Code: Select all
(0).[44978685] [0x0000000000011038] 0008:0000000000011038 (unk. ctxt): (invalid) ; ffff
Next at t=44978686
(0) [0x00000000fffffff0] f000:fff0 (unk. ctxt): jmp far f000:e05b ; ea5be000f0
The Bochs debugger is a great tool. However, you have to have Bochs compiled with the debugger compiled in, usually called BOCHSDBG.EXE on windows. Couldn't tell you on Linux.Klakap wrote:No, kernel isn`t start. Fail is with jump. Kernel hasn`t error. Please how I can start debug mode in bochs?
Code: Select all
#=======================================================================
# DISPLAY_LIBRARY
#
# The display library is the code that displays the Bochs VGA screen. Bochs
# has a selection of about 10 different display library implementations for
# different platforms. If you run configure with multiple --with-* options,
# the display_library command lets you choose which one you want to run with.
# If you do not write a display_library line, Bochs will choose a default for
# you.
#
# The choices are:
# x use X windows interface, cross platform
# win32 use native win32 libraries
# carbon use Carbon library (for MacOS X)
# macintosh use MacOS pre-10
# amigaos use native AmigaOS libraries
# sdl use SDL library, cross platform
# svga use SVGALIB library for Linux, allows graphics without X11
# term text only, uses curses/ncurses library, cross platform
# rfb provides an interface to AT&T's VNC viewer, cross platform
# wx use wxWidgets library, cross platform
# nogui no display at all
#
# NOTE: if you use the "wx" configuration interface, you must also use
# the "wx" display library.
#
# Specific options:
# Some display libraries now support specific option to control their
# behaviour. See the examples below for currently supported options.
#=======================================================================
#display_library: amigaos
#display_library: carbon
#display_library: macintosh
#display_library: nogui
#display_library: rfb, options="timeout=60" # time to wait for client
#display_library: sdl, options="fullscreen" # startup in fullscreen mode
#display_library: term
display_library: win32, options="gui_debug" # use Win32 debugger gui
#display_library: wx
#display_library: x, options="hideIPS" # disable IPS output in status bar
#display_library: x, options="gui_debug" # use GTK debugger gui
Code: Select all
xchg bx,bx
Code: Select all
xchg ebx,ebx
Code: Select all
#=======================================================================
# MAGIC_BREAK:
# This enables the "magic breakpoint" feature when using the debugger.
# The useless cpu instruction XCHG BX, BX causes Bochs to enter the
# debugger mode. This might be useful for software development.
#
# Example:
# magic_break: enabled=1
#=======================================================================
magic_break: enabled=1
Code: Select all
;LOAD KERNEL
;reset floppy
mov ah, 0
mov dl, 0
int 13h ;call reset
;read floppy
mov ax, 1000h ;load kernel to 1000h
mov es, ax ;load kernel to 1000h
mov bx, 0 ;offset 0
mov ah, 0x02 ;read function
mov al, 100 ;100 sectors
mov ch, 0 ;track 0
mov cl, 2 ;start sector is 2
mov dh, 0 ;head 0
mov dl, 00h ;floppy A
int 13h ;call read
Code: Select all
bits 32
;some definitions of methods
start:
call boot
jmp $ ;halt the CPU
;methods for interrupts
section .bss
resb 64000 ;64KB for stack
stack_space: