Skip to content

Functional coding norms for the OS

azertyfun edited this page May 13, 2016 · 1 revision

English

General Norms

The labels used within your code must not be generic, to avoid problems in the compilation. Ex : _

COMMENT YOUR CODE! It's easy to do and it's more agreeable to develope it later.

OS Routines

The OS' routines mustn't modify the registers during usage. The routines push_regs and pop_regs serve to protect the registers integrity. If you can't use them, use a manual battery (great gains to performance)

The OS' routines should use the registers in an A,B and C priority (In that order) like starting and the register C as the output value. This norm is safe to adapt in each case.

Every OS routine must be accompanied by a commentated documentation with:

  • The registers utility I/O
  • A short description of it's utility
  • The clear announcement of the utility lable

French

Normes générales

Les labels utilisés au sein de votre code ne doivent pas être génériques, pour éviter des problèmes lors de la compilation. Ex : _

COMMENTEZ VOTRE CODE ! Sa fait toujours plaisir et c’est plus agréable pour le faire évoluer par la suite

##Routines de l’OS Les routines de l’OS ne doivent pas modifier les registres durant le traitement. Les routine push_regs et pop_regs servent à sauvegarder l’intégralité des registres. Si vous n’en utilisez que quelques uns, préférez une utilisation manuelle de la pile (large gain de performances)

Les routines de l’OS devraient utiliser en priorité les registres A,B et C (dans cet ordre) comme entrée et le registre C comme valeur de sortie. Cette norme est bien sûr à adapter à chaue cas.

Chaque routine de l’OS doit être accompagnée d’une documentation en commentaire avec :

  • les registres utilisés I/O
  • un descriptif court de son utilité
  • l’annonce claire du label utilisé

Clone this wiki locally