2-38
2.5
TRAP #15 Functions
An additional utility within the dBUG firmware is a function called the TRAP 15 handler. This function
can be called by the user program to utilize various routines within the dBUG, to perform a special task,
and to return control to the dBUG. 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
}
2.5.2.
IN_CHAR
This function (function code 0x0010) returns an input character (from terminal) to the caller. The returned
character is in D1.
Assembly example:
Содержание SBC5307
Страница 15: ...1 8 J1 J4 J7 J8 J9 JP1 J2 Figure 4 Jumper and connector placement ...
Страница 20: ...2 3 Figure 5 Flow Diagram of dBUG Operational Mode ...
Страница 26: ...2 9 0x00012002 nop 0x00012004 lsr l 1 d0 0x00012006 cmp 4 d0 0x00012008 beq start 0x0001200A ...
Страница 79: ...9 APPENDIX C Schematics ...