Add support for FT32 platform.
This commit is contained in:
56
libgloss/ft32/sim-write.S
Normal file
56
libgloss/ft32/sim-write.S
Normal file
@@ -0,0 +1,56 @@
|
||||
/*
|
||||
* sim-write.S -- write interface for FT32 simulator
|
||||
*
|
||||
* Copyright (C) 2015 FTDI (support@ftdichip.com)
|
||||
*
|
||||
* The authors hereby grant permission to use, copy, modify, distribute,
|
||||
* and license this software and its documentation for any purpose, provided
|
||||
* that existing copyright notices are retained in all copies and that this
|
||||
* notice is included verbatim in any distributions. No written agreement,
|
||||
* license, or royalty fee is required for any of the authorized uses.
|
||||
* Modifications to this software may be copyrighted by their authors
|
||||
* and need not follow the licensing terms described here, provided that
|
||||
* the new terms are clearly indicated on the first page of each file where
|
||||
* they apply.
|
||||
*/
|
||||
|
||||
#include "syscall.h"
|
||||
|
||||
/*
|
||||
* Input:
|
||||
* $r0 -- File descriptor.
|
||||
* $r1 -- String to be printed.
|
||||
* $r2 -- Length of the string.
|
||||
*
|
||||
* Output:
|
||||
* $r0 -- Length written or -1.
|
||||
* errno -- Set if an error
|
||||
*/
|
||||
|
||||
.globl _write
|
||||
.type _write,@function
|
||||
.weak write
|
||||
.text
|
||||
_write:
|
||||
write:
|
||||
|
||||
# LDI.l $r1,$r0,0
|
||||
# STA.l MAGIC,$r1
|
||||
# jmp .f
|
||||
#
|
||||
# .loop:
|
||||
# sta.l 0x10000,$r2
|
||||
# add.l $r0,$r0,1
|
||||
# .f:
|
||||
# ldi.b $r2,$r0,0
|
||||
# cmp.b $r2,0
|
||||
# jmpc nz,.loop
|
||||
|
||||
ldk.l $r3,0x10000
|
||||
streamout.b $r3,$r1,$r2
|
||||
move.l $r0,$r2
|
||||
|
||||
return
|
||||
|
||||
.Lend:
|
||||
.size _write,.Lend-_write
|
Reference in New Issue
Block a user