Manual da RTS: Difference between revisions

From Wiki**3

(New page: == Library Routines == O ficheiro \verb|lib.asm| contém, além das rotinas de arranque (\verb|_start|) e de terminação (\verb|_exit|), um conjunto de rotinas de biblioteca que poderá ...)
 
(Redirected page to ist:Manual da RTS)
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Library Routines ==
#REDIRECT [[ist:Manual da RTS]]
 
O ficheiro \verb|lib.asm| contém, além das rotinas de arranque (\verb|_start|) e de terminação (\verb|_exit|), um conjunto de rotinas de biblioteca que poderá utilizar, com nomes auto-explicativos e semelhantes aos da biblioteca de C:
 
\begin{itemize}
\item \verb|void println()| -- Imprime o caráter de mudança de linha (\verb|\n|).
\item \verb|void printsp(int n)| -- Imprime \verb|n| espaços brancos.
\item \verb|void prints(const char *s)| -- Imprime a cadeia de caracteres \verb|s|, terminada em NULL (\verb|\0|).
\item \verb|void printi(int i)| -- Imprime o valor inteiro \verb|i|, em decimal.
\item \verb|void printd(double d)| -- Imprime o valor real em precisão dupla num formato equivalente ao \verb|%g| da função \verb|printf| da linguagem C.
\item \verb|char *readln(char *buf, int size)| -- Equivale a \verb|fgets(buf, size, stdin)| em C.
\item \verb|int readb()| -- Lê um byte do terminal.
\item \verb|int readi()| -- Lê um inteiro decimal, isolado numa linha, do terminal.
\item \verb|int readd()| -- Lê um valor real em precisão dupla, isolado numa linha, do terminal.
\item \verb|int strlen(const char *s)| -- Equivalente à rotina homónima em C.
\item \verb|int atoi(const char *s)| -- Equivalente à rotina homónima em C.
\item \verb|double atod(const char *s)| -- Converte uma cadeia de caracteres ASCII, terminada em NULL (\verb|\0|) no valor real em precisão dupla que representa.
\item \verb|const char *itoa(int i)| -- Converte um valor inteiro para uma cadeia de caracteres ASCII, terminada em NULL (\verb|\0|), situada num bloco de memória fixo (é reutilizado em chamadas subsequentes), em decimal.
\item \verb|const char *dtoa(double d, int ndig, char *s)| -- Converte um valor real em precisão dupla para uma cadeia de caracteres ASCII com \verb|ndig| dígitos significativos, terminada em NULL (\verb|\0|), num formato equivalente ao \verb|%g| da linguagem C. O resultado é guardado na cadeia \verb|s| que deverá ter dimensão suficiente ou, caso seja um ponteiro nulo, num bloco de memória fixo reutilizado em chamadas subsequentes.
\end{itemize}
 
== System Calls ==
 
File \verb|sys.asm| contém as chamadas ao sistema que pode realizar em programas escritos em NX6. Uma explicação das chamadas ao sistema pode ser obtida através de:
\begin{verbatim}
  prompt$ man 2 intro
  prompt$ man 2 syscalls
\end{verbatim}
 
Algumas destas chamadas não existem na biblioteca de C, outras têm um comportamente diferente da rotina C homónima.

Latest revision as of 18:33, 6 December 2018

Redirect to: