34
2.5
TRAP #15 Functions
An additional utility within the dBUG firmware is a function called the TRAP 15 handler. The user program to
utilize various routines within the dBUG, to perform a special task, and to return control to the dBUG can call
this function. This section describes the TRAP 15 handler and how it is used.
There are four TRAP #15 functions. These are: OUT_CHAR, IN_CHAR, CHAR_PRESENT, and
EXIT_TO_dBUG.
2.5.1.
OUT_CHAR
This function ( function code 0x0013) sends a character, which is in lower 8 bits of D1, to terminal.
Assembly example:
/* assume d1 contains the character */
move.l
#$0013,d0 Selects the function
TRAP
#15
The character in d1 is sent to terminal
C example:
void board_out_char (int ch)
{
/* If your C compiler produces a LINK/UNLK pair for this routine,
* then use the following code which takes this into account
*/
#if l
/* LINK a6,#0 — produced by C compiler */
asm (“ move.l
8(a6),d1”);
/* put ‘ch’into d1 */
asm (“ move.l
#0x0013,d0”);
/* select the function */
asm (“ trap #15”);
/* make the call */
/* UNLK a6 — produced by C compiler */
#else
/* If C compiler does not produce a LINK/UNLK pair, the use
* the following code.
*/
asm (“ move.l
4(sp),d1”);
/* put ‘ch’into d1 */
asm (“ move.l
#0x0013,d0”);
/* select the function */
asm (“ trap #15”);
/* make the call */
#endif
}
F
re
e
sc
a
le
S
e
m
ic
o
n
d
u
c
to
r,
I
Freescale Semiconductor, Inc.
For More Information On This Product,
Go to: www.freescale.com
n
c
.
..