Rev 63 | Rev 501 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 63 | Rev 78 | ||
---|---|---|---|
Line 25... | Line 25... | ||
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
26 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
27 | */ |
27 | */ |
28 | 28 | ||
29 | #include <putchar.h> |
29 | #include <putchar.h> |
30 | #include <arch/types.h> |
- | |
31 | #include <arch/ski/ski.h> |
30 | #include <arch/ski/ski.h> |
32 | 31 | ||
33 | void putchar(const char ch) |
32 | void putchar(const char ch) |
34 | { |
33 | { |
35 | __asm__ ( |
- | |
36 | "mov r15=%0\n" |
- | |
37 | "mov r32=%1\n" /* r32 is in0 */ |
- | |
38 | "break 0x80000\n" /* modifies r8 */ |
- | |
39 | : |
- | |
40 | : "i" (SKI_CONSOLE_PUTC), "r" (ch) |
- | |
41 | : "r15", "in0", "r8" |
- | |
42 | ); |
- | |
43 | - | ||
44 | if (ch == '\n') putchar('\r'); |
34 | ski_putchar(ch); |
45 | } |
35 | } |