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

Last change on this file since 201 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
RevLine 
[41]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
[45]18 pushf
[41]19 push di
20 push bx
21 push ax
22
23 mov ax, %1
24 mov bx, %2
25 CALL_DISPLAY_LIBRARY PrintWordFromAXwithBaseInBX
[142]26%ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
[41]27 call Keyboard_RemoveAllKeystrokesFromBuffer
[142]28%endif
[41]29 call Keyboard_GetKeystrokeToAXandWaitIfNecessary
30
31 pop ax
32 pop bx
33 pop di
[45]34 popf
[41]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
[45]48 pushf
[41]49 push di
50 push ax
51
52 mov al, %1
53 CALL_DISPLAY_LIBRARY PrintCharacterFromAL
[142]54%ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
[41]55 call Keyboard_RemoveAllKeystrokesFromBuffer
[142]56%endif
[41]57 call Keyboard_GetKeystrokeToAXandWaitIfNecessary
58
59 pop ax
60 pop di
[45]61 popf
[41]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
[45]75 pushf
[41]76 push di
77 push ax
78 mov al, %1
79 CALL_DISPLAY_LIBRARY PrintCharacterFromAL
80 pop ax
81 pop di
[45]82 popf
[41]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
[142]97%ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
[41]98 call Keyboard_RemoveAllKeystrokesFromBuffer
[142]99%endif
[41]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.