Lang: Nyelv: HU EN

Output functions Kimeneti függvények

putchar

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.

prints

Szöveg (0 végződésű karaktersorozat) kiírása a terminálra.

printsnl

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.

printh

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.

printd

A bemenetként megadott 32 bites (pozitív) bináris számot kiírja a terminálra tízes számrendszerben.

eprints

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.

printf

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

eprintf

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 ...