OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [trunk/] [gnu-src/] [newlib-1.17.0/] [libgloss/] [m68k/] [cpu32bug.S] - Blame information for rev 566

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 148 jeremybenn
/*
2
 * cpu32bug.S -- board support for the CPU32BUG monitor.
3
 *
4
 * Copyright (c) 1995, 1996 Cygnus Support
5
 *
6
 * The authors hereby grant permission to use, copy, modify, distribute,
7
 * and license this software and its documentation for any purpose, provided
8
 * that existing copyright notices are retained in all copies and that this
9
 * notice is included verbatim in any distributions. No written agreement,
10
 * license, or royalty fee is required for any of the authorized uses.
11
 * Modifications to this software may be copyrighted by their authors
12
 * and need not follow the licensing terms described here, provided that
13
 * the new terms are clearly indicated on the first page of each file where
14
 * they apply.
15
 */
16
 
17
#include "asm.h"
18
#include "cpu32bug.h"
19
 
20
        .title "cpu32bug.S for m68k-coff"
21
 
22
        .text
23
        .global SYM (_exit)
24
        .global SYM (outln)
25
        .global SYM (outbyte)
26
        .global SYM (putDebugChar)
27
        .global SYM (inbyte)
28
        .global SYM (getDebugChar)
29
        .global SYM (havebyte)
30
 
31
/*
32
 * _exit -- Exit from the application. Normally we cause a user trap
33
 *          to return to the ROM monitor for another run.
34
 */
35
        .text
36
        .align  2
37
SYM (_exit):
38
        link    fp, IMM(0)
39
        trap    IMM(15)
40
        .word   RETURN
41
 
42
/*
43
 * inbyte -- get a byte from the serial port
44
 *      d0 - contains the byte read in
45
 */
46
        .text
47
        .align  2
48
SYM (getDebugChar):             /* symbol name used by m68k-stub */
49
SYM (inbyte):
50
        link    fp, IMM(-8)
51
        trap    IMM(15)
52
        .word   INCHR
53
        moveb   sp@, d0
54
        extw    d0
55
        extl    d0
56
        unlk    fp
57
        rts
58
 
59
/*
60
 * outbyte -- sends a byte out the serial port
61
 *      d0 - contains the byte to be sent
62
 */
63
        .text
64
        .align  2
65
SYM (putDebugChar):             /* symbol name used by m68k-stub */
66
SYM (outbyte):
67
        link    fp, IMM(-4)
68
        moveb   fp@(11), sp@
69
        trap    IMM(15)
70
        .word   OUTCHR
71
        unlk    fp
72
        rts
73
 
74
/*
75
 * outln -- sends a string of bytes out the serial port with a CR/LF
76
 *      a0 - contains the address of the string's first byte
77
 *      a1 - contains the address of the string's last byte
78
 */
79
        .text
80
        .align  2
81
SYM (outln):
82
        link    fp, IMM(-8)
83
        moveml  a0/a1, sp@
84
        trap    IMM(15)
85
        .word   OUTLN
86
        unlk    fp
87
        rts
88
 
89
/*
90
 * outstr -- sends a string of bytes out the serial port without a CR/LF
91
 *      a0 - contains the address of the string's first byte
92
 *      a1 - contains the address of the string's last byte
93
 */
94
        .text
95
        .align  2
96
SYM (outstr):
97
        link    fp, IMM(-8)
98
        moveml  a0/a1, sp@
99
        trap    IMM(15)
100
        .word   OUTSTR
101
        unlk    fp
102
        rts
103
 
104
/*
105
 * havebyte -- checks to see if there is a byte in the serial port,
106
 *             returns 1 if there is a byte, 0 otherwise.
107
 */
108
        .text
109
        .align  2
110
SYM (havebyte):
111
        trap    IMM(15)
112
        .word   INSTAT
113
        beqs    empty
114
        movel   IMM(1), d0
115
        rts
116
empty:
117
        movel   IMM(0), d0
118
        rts

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.