OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [newlib-1.17.0/] [libgloss/] [m68k/] [mvme.S] - Blame information for rev 816

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 148 jeremybenn
/* mvme.S -- board support for m68k
2
 *
3
 * Copyright (c) 1995, 1996 Cygnus Support
4
 *
5
 * The authors hereby grant permission to use, copy, modify, distribute,
6
 * and license this software and its documentation for any purpose, provided
7
 * that existing copyright notices are retained in all copies and that this
8
 * notice is included verbatim in any distributions. No written agreement,
9
 * license, or royalty fee is required for any of the authorized uses.
10
 * Modifications to this software may be copyrighted by their authors
11
 * and need not follow the licensing terms described here, provided that
12
 * the new terms are clearly indicated on the first page of each file where
13
 * they apply.
14
 */
15
 
16
#include "asm.h"
17
 
18
        .title "mvme.S for m68k-coff"
19
 
20
        .align  2
21
        .text
22
        .global SYM (_exit)
23
        .global SYM (outln)
24
        .global SYM (outbyte)
25
        .global SYM (putDebugChar)
26
        .global SYM (inbyte)
27
        .global SYM (getDebugChar)
28
        .global SYM (havebyte)
29
        .global SYM (exceptionHandler)
30
 
31
        .set    vbr_size, 0x400
32
        .comm   SYM (vbr_table), vbr_size
33
 
34
/*
35
 * _exit -- Exit from the application. Normally we cause a user trap
36
 *          to return to the ROM monitor for another run.
37
 */
38
SYM (_exit):
39
        unlk    a6
40
        trap IMM(15)
41
        .word return
42
 
43
        .align  2
44
 
45
/*
46
 * inbyte -- get a byte from the serial port
47
 *      d0 - contains the byte read in
48
 */
49
        .align  2
50
SYM (getDebugChar):             /* symbol name used by m68k-stub */
51
SYM (inbyte):
52
        link    a6, IMM(-8)
53
        trap    IMM(15)
54
        .word   inchr
55
        moveb   sp@, d0
56
        extw    d0
57
        extl    d0
58
        unlk    a6
59
        rts
60
 
61
/*
62
 * outbyte -- sends a byte out the serial port
63
 *      d0 - contains the byte to be sent
64
 */
65
        .align  2
66
SYM (putDebugChar):             /* symbol name used by m68k-stub */
67
SYM (outbyte):
68
        link    fp, IMM(-4)
69
        moveb   fp@(11), sp@
70
        trap    IMM(15)
71
        .word   outchr
72
        unlk    fp
73
        rts
74
 
75
/*
76
 * outln -- sends a string of bytes out the serial port with a CR/LF
77
 *      a0 - contains the address of the string's first byte
78
 *      a1 - contains the address of the string's last byte
79
 */
80
        .align  2
81
SYM (outln):
82
        link    a6, IMM(-8)
83
        moveml  a0/a1, sp@
84
        trap    IMM(15)
85
        .word   outln
86
        unlk    a6
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
        .align  2
95
SYM (outstr):
96
        link    a6, IMM(-8)
97
        moveml  a0/a1, sp@
98
        trap    IMM(15)
99
        .word   outstr
100
        unlk    a6
101
        rts
102
 
103
/*
104
 * havebyte -- checks to see if there is a byte in the serial port,
105
 *             returns 1 if there is a byte, 0 otherwise.
106
 */
107
SYM (havebyte):
108
        trap    IMM(15)
109
        .word   instat
110
        beqs    empty
111
        movel   IMM(1), d0
112
        rts
113
empty:
114
        movel   IMM(0), d0
115
        rts
116
 
117
/*
118
 * These constants are for the MVME-135 board's boot monitor. They
119
 * are used with a TRAP 15 call to access the monitor's I/O routines.
120
 * they must be in the word following the trap call.
121
 */
122
        .set inchr, 0x0
123
        .set instat, 0x1
124
        .set inln, 0x2
125
        .set readstr, 0x3
126
        .set readln, 0x4
127
        .set chkbrk, 0x5
128
 
129
        .set outchr, 0x20
130
        .set outstr, 0x21
131
        .set outln, 0x22
132
        .set write, 0x23
133
        .set writeln, 0x24
134
        .set writdln, 0x25
135
        .set pcrlf, 0x26
136
        .set eraseln, 0x27
137
        .set writd, 0x28
138
        .set sndbrk, 0x29
139
 
140
        .set tm_ini, 0x40
141
        .set dt_ini, 0x42
142
        .set tm_disp, 0x43
143
        .set tm_rd, 0x44
144
 
145
        .set redir, 0x60
146
        .set redir_i, 0x61
147
        .set redir_o, 0x62
148
        .set return, 0x63
149
        .set bindec, 0x64
150
 
151
        .set changev, 0x67
152
        .set strcmp, 0x68
153
        .set mulu32, 0x69
154
        .set divu32, 0x6A
155
        .set chk_sum, 0x6B

powered by: WebSVN 2.1.0

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