forked from KolibriOS/kolibrios
hd_drv.inc: now code should work correctly on any computer
kernel32.inc: added 'dbgstr' macro which may be useful for kernel debugging git-svn-id: svn://kolibrios.org@162 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
603863d00c
commit
2e850e52f6
@ -130,17 +130,19 @@ hd_read_pio:
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
disable_ide_int:
|
disable_ide_int:
|
||||||
mov edx,[hdbase]
|
; mov edx,[hdbase]
|
||||||
add edx,0x206
|
; add edx,0x206
|
||||||
mov al,2
|
; mov al,2
|
||||||
out dx,al
|
; out dx,al
|
||||||
|
cli
|
||||||
ret
|
ret
|
||||||
|
|
||||||
enable_ide_int:
|
enable_ide_int:
|
||||||
mov edx,[hdbase]
|
; mov edx,[hdbase]
|
||||||
add edx,0x206
|
; add edx,0x206
|
||||||
mov al,0
|
; mov al,0
|
||||||
out dx,al
|
; out dx,al
|
||||||
|
sti
|
||||||
ret
|
ret
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
|
@ -50,6 +50,31 @@ macro diff16 title,l1,l2
|
|||||||
display 13,10
|
display 13,10
|
||||||
}
|
}
|
||||||
|
|
||||||
|
; \begin{diamond}[29.09.2006]
|
||||||
|
; may be useful for kernel debugging
|
||||||
|
; example 1:
|
||||||
|
; dbgstr 'Hello, World!'
|
||||||
|
; example 2:
|
||||||
|
; dbgstr 'Hello, World!', save_flags
|
||||||
|
macro dbgstr string*, f
|
||||||
|
{
|
||||||
|
local a
|
||||||
|
iglobal_nested
|
||||||
|
a db 'K : ',string,13,10,0
|
||||||
|
endg_nested
|
||||||
|
if ~ f eq
|
||||||
|
pushfd
|
||||||
|
end if
|
||||||
|
push esi
|
||||||
|
mov esi, a
|
||||||
|
call sys_msg_board_str
|
||||||
|
pop esi
|
||||||
|
if ~ f eq
|
||||||
|
popfd
|
||||||
|
end if
|
||||||
|
}
|
||||||
|
; \end{diamond}[29.09.2006]
|
||||||
|
|
||||||
struc db [a] { common . db a
|
struc db [a] { common . db a
|
||||||
if ~used .
|
if ~used .
|
||||||
display 'not used db: ',`.,13,10
|
display 'not used db: ',`.,13,10
|
||||||
|
@ -5,6 +5,10 @@ macro iglobal {
|
|||||||
IGlobals equ IGlobals,
|
IGlobals equ IGlobals,
|
||||||
macro __IGlobalBlock { }
|
macro __IGlobalBlock { }
|
||||||
|
|
||||||
|
macro iglobal_nested {
|
||||||
|
IGlobals equ IGlobals,
|
||||||
|
macro __IGlobalBlock \{ }
|
||||||
|
|
||||||
;-------------------------------------------------------------
|
;-------------------------------------------------------------
|
||||||
; use 'uglobal' for inserting uninitialized global definitions.
|
; use 'uglobal' for inserting uninitialized global definitions.
|
||||||
; even when you define some data values, these variables
|
; even when you define some data values, these variables
|
||||||
@ -14,7 +18,12 @@ macro uglobal {
|
|||||||
UGlobals equ UGlobals,
|
UGlobals equ UGlobals,
|
||||||
macro __UGlobalBlock { }
|
macro __UGlobalBlock { }
|
||||||
|
|
||||||
|
macro uglobal_nested {
|
||||||
|
UGlobals equ UGlobals,
|
||||||
|
macro __UGlobalBlock \{ }
|
||||||
|
|
||||||
endg fix } ; Use endg for ending iglobal and uglobal blocks.
|
endg fix } ; Use endg for ending iglobal and uglobal blocks.
|
||||||
|
endg_nested fix \}
|
||||||
|
|
||||||
macro IncludeIGlobals{
|
macro IncludeIGlobals{
|
||||||
macro IGlobals dummy,[n] \{ __IGlobalBlock
|
macro IGlobals dummy,[n] \{ __IGlobalBlock
|
||||||
|
Loading…
Reference in New Issue
Block a user