source: xtideuniversalbios/trunk/Assembly_Library/Inc/Debug.inc@ 300

Last change on this file since 300 was 142, checked in by Tomi Tilli, 14 years ago

Changes to Assembly Library:

  • Size_GetSizeToAXAndCharToDLfromBXDXAXwithMagnitudeInCX now returns right value on 8086/8088 build.
  • Debug macros again work on XTIDE Universal BIOS.
File size: 2.3 KB
Line 
1; Project name : Assembly Library
2; Description : Debugging macros.
3%ifndef DEBUG_INC
4%define DEBUG_INC
5
6
7;--------------------------------------------------------------------
8; DISPLAY_DEBUG_WORD_AND_WAIT_ANY_KEY
9; Parameters:
10; %1: Debug word
11; %2: Numeric base (2, 10, 16)
12; Returns:
13; Nothing
14; Corrupts registers:
15; Nothing
16;--------------------------------------------------------------------
17%macro DISPLAY_DEBUG_WORD_AND_WAIT_ANY_KEY 2
18 pushf
19 push di
20 push bx
21 push ax
22
23 mov ax, %1
24 mov bx, %2
25 CALL_DISPLAY_LIBRARY PrintWordFromAXwithBaseInBX
26%ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
27 call Keyboard_RemoveAllKeystrokesFromBuffer
28%endif
29 call Keyboard_GetKeystrokeToAXandWaitIfNecessary
30
31 pop ax
32 pop bx
33 pop di
34 popf
35%endmacro
36
37
38;--------------------------------------------------------------------
39; DISPLAY_DEBUG_CHARACTER_AND_WAIT_ANY_KEY
40; Parameters:
41; %1: Character to print
42; Returns:
43; Nothing
44; Corrupts registers:
45; Nothing
46;--------------------------------------------------------------------
47%macro DISPLAY_DEBUG_CHARACTER_AND_WAIT_ANY_KEY 1
48 pushf
49 push di
50 push ax
51
52 mov al, %1
53 CALL_DISPLAY_LIBRARY PrintCharacterFromAL
54%ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
55 call Keyboard_RemoveAllKeystrokesFromBuffer
56%endif
57 call Keyboard_GetKeystrokeToAXandWaitIfNecessary
58
59 pop ax
60 pop di
61 popf
62%endmacro
63
64
65;--------------------------------------------------------------------
66; DISPLAY_DEBUG_CHARACTER
67; Parameters:
68; %1: Character to print
69; Returns:
70; Nothing
71; Corrupts registers:
72; Nothing
73;--------------------------------------------------------------------
74%macro DISPLAY_DEBUG_CHARACTER 1
75 pushf
76 push di
77 push ax
78 mov al, %1
79 CALL_DISPLAY_LIBRARY PrintCharacterFromAL
80 pop ax
81 pop di
82 popf
83%endmacro
84
85
86;--------------------------------------------------------------------
87; WAIT_ANY_KEY_TO_CONTINUE
88; Parameters:
89; Nothing
90; Returns:
91; Nothing
92; Corrupts registers:
93; Nothing
94;--------------------------------------------------------------------
95%macro WAIT_ANY_KEY_TO_CONTINUE 0
96 push ax
97%ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
98 call Keyboard_RemoveAllKeystrokesFromBuffer
99%endif
100 call Keyboard_GetKeystrokeToAXandWaitIfNecessary
101 pop ax
102%endmacro
103
104
105%endif ; DEBUG_INC
Note: See TracBrowser for help on using the repository browser.