A bemenetként megadott karakterkód kiírása az UART periférián keresztül a terminálra. A függvény először megvárja az előzőleg kiírt karakter kiküldését.
Szöveg (0 végződésű karaktersorozat) kiírása a terminálra.
Szöveg (0 végződésű karaktersorozat) kiírása a terminálra, ezután a függvény kiír egy soremelés karaktert.
Kiírja a bemeneti 32 bites bináris egész szám értékét a terminálra hexadecimális számrendszerben, 8 karakteren, bevezető nullákkal. Az R1-ben megadott számú karakterenként egy _ elválasztó jelet is kiír.
A bemenetként megadott 32 bites (pozitív) bináris számot kiírja a terminálra tízes számrendszerben.
Beágyazott, 0 végződésű karaktertömb kiírása a terminálra. A sztringnek a program kódjában közvetlenül a szubrutint meghívó CALL utasítás után kell lennie. A szubrutin a sztring záró nullája utáni címre fog visszatérni. Escape szekvenciák (formázó karakterek) nem használhatók. A funkciónak sem bemeneti, sem kimeneti paraméterei nincsenek. Helyes használatára egy példa:
nop call eprints db ”Hello World!\n” mvzl r0,12 ...A CALL utasítás helyett ebben az esetben használható a CES utasítás is.
Formázott szöveg kiírása a terminálra. A szövegben elhelyezhetők formázó utasítások (% jellel kezdve), amelyek egy adat megfelelő formátumban való kiírását eredményezik. Az adatokat az R1..R12 regiszterekben adhatjuk át, amelyekből sorban annyit használ fel a szubrutin, amennyi formázó utasítás van a szövegben.
A függvény módosítja az R0-R12 regiszterek, valamit a Flag regiszter értékét.
A formázó szövegben escape szekvenciákat is használhatunk:
Escape szekvencia | Kiírt karakterkód |
---|---|
\a | 7 |
\b | 8 |
\e | 31 |
\f | 12 |
\n | 10 |
\r | 13 |
\t | 9 |
\v | 11 |
\\ | '\' |
\0 | 0 |
A szubrutin által kezelt formázó utasítások a következők:
Utasítás | Formátum | Példa, megjegyzés |
---|---|---|
%% | Százalékjel | % |
%u, %d | Előjel nélküli decimális | 12345 |
%x | 32 bites hexadecimális | 1A2B3C5D |
%s | Szöveg | az adat regiszternek a beillesztendő szöveg címét kell tartalmaznia |
%c | Karakter | az adat regiszterben lévő ASCII kódot írja ki |
Beágyazott, 0 végződésű formázó szöveg kiírása a terminálra. A formázó szövegnek közvetlenül a CALL (vagy CES) utasítás után kell lennie, a további paraméterek a printf szubrutinéval egyeznek, azonban ez a funkció az R0 regiszterben nem vár bemenő adatot.
A függvény módosítja az R0-R12 regiszterek, valamit a Flag regiszter értékét.
UART_CPB = 0xff44 ld r1,UART_CPB mov r2,r1 ces eprintf db ”Uart cpb= %d (0x%x)\n” nop ...