Difference between revisions of "Manual da RTS"

From Wiki**3

m
Line 26: Line 26:
  
 
Algumas destas chamadas não existem na biblioteca de C, outras têm um comportamente diferente da rotina C homónima.
 
Algumas destas chamadas não existem na biblioteca de C, outras têm um comportamente diferente da rotina C homónima.
 +
 +
[[category:Compiladores]]
 +
[[category:Ensino]]
 +
[[en:RTS Manual]]

Revision as of 22:41, 15 November 2008

Library Routines

File lib.asm contains, in addition to the start (_start) and end (_exit) routines, a set of library routines similar to the one provided by the C library:

  • void println() -- Imprime o caráter de mudança de linha (\n).
  • void printsp(int n) -- Imprime n espaços brancos.
  • void prints(const char *s) -- Imprime a cadeia de caracteres s, terminada em NULL (\0).
  • void printi(int i) -- Imprime o valor inteiro i, em decimal.
  • void printd(double d) -- Imprime o valor real em precisão dupla num formato equivalente ao %g da função printf da linguagem C.
  • char *readln(char *buf, int size) -- Equivale a fgets(buf, size, stdin) em C.
  • int readb() -- Lê um byte do terminal.
  • int readi() -- Lê um inteiro decimal, isolado numa linha, do terminal.
  • int readd() -- Lê um valor real em precisão dupla, isolado numa linha, do terminal.
  • int strlen(const char *s) -- Equivalente à rotina homónima em C.
  • int atoi(const char *s) -- Equivalente à rotina homónima em C.
  • double atod(const char *s) -- Converte uma cadeia de caracteres ASCII, terminada em NULL (\0) no valor real em precisão dupla que representa.
  • const char *itoa(int i) -- Converte um valor inteiro para uma cadeia de caracteres ASCII, terminada em NULL (\0), situada num bloco de memória fixo (é reutilizado em chamadas subsequentes), em decimal.
  • const char *dtoa(double d, int ndig, char *s) -- Converte um valor real em precisão dupla para uma cadeia de caracteres ASCII com ndig dígitos significativos, terminada em NULL (\0), num formato equivalente ao %g da linguagem C. O resultado é guardado na cadeia s que deverá ter dimensão suficiente ou, caso seja um ponteiro nulo, num bloco de memória fixo reutilizado em chamadas subsequentes.

System Calls

File 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:

 prompt$ man 2 intro
 prompt$ man 2 syscalls

Algumas destas chamadas não existem na biblioteca de C, outras têm um comportamente diferente da rotina C homónima.