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
|
||||
|
||||
disable_ide_int:
|
||||
mov edx,[hdbase]
|
||||
add edx,0x206
|
||||
mov al,2
|
||||
out dx,al
|
||||
; mov edx,[hdbase]
|
||||
; add edx,0x206
|
||||
; mov al,2
|
||||
; out dx,al
|
||||
cli
|
||||
ret
|
||||
|
||||
enable_ide_int:
|
||||
mov edx,[hdbase]
|
||||
add edx,0x206
|
||||
mov al,0
|
||||
out dx,al
|
||||
; mov edx,[hdbase]
|
||||
; add edx,0x206
|
||||
; mov al,0
|
||||
; out dx,al
|
||||
sti
|
||||
ret
|
||||
|
||||
align 4
|
||||
|
@ -50,6 +50,31 @@ macro diff16 title,l1,l2
|
||||
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
|
||||
if ~used .
|
||||
display 'not used db: ',`.,13,10
|
||||
|
@ -5,6 +5,10 @@ macro iglobal {
|
||||
IGlobals equ IGlobals,
|
||||
macro __IGlobalBlock { }
|
||||
|
||||
macro iglobal_nested {
|
||||
IGlobals equ IGlobals,
|
||||
macro __IGlobalBlock \{ }
|
||||
|
||||
;-------------------------------------------------------------
|
||||
; use 'uglobal' for inserting uninitialized global definitions.
|
||||
; even when you define some data values, these variables
|
||||
@ -14,7 +18,12 @@ macro uglobal {
|
||||
UGlobals equ UGlobals,
|
||||
macro __UGlobalBlock { }
|
||||
|
||||
macro uglobal_nested {
|
||||
UGlobals equ UGlobals,
|
||||
macro __UGlobalBlock \{ }
|
||||
|
||||
endg fix } ; Use endg for ending iglobal and uglobal blocks.
|
||||
endg_nested fix \}
|
||||
|
||||
macro IncludeIGlobals{
|
||||
macro IGlobals dummy,[n] \{ __IGlobalBlock
|
||||
|
Loading…
Reference in New Issue
Block a user