Cours et généralités de compilation

Cours VB.NET la syntaxe objet, tutoriel & guide de travaux pratiques en pdf.

La machine VCMC97

Présentation générale
La machine VCMC97 est une machine à pile et à registre. Elle comprend 3 registres généraux , A0, A1 et A2 plus un registre de pointeur de pile, SP (stack pointer), et un registre de pointeur de bloc FP (frame pointer).
Les instructions
Un registre est noté Rx. Une expression constante, une variable globale ou un registre est noté Vx. Un registre ou une variable globale est noté Loc.
Une variable globale est écrit ainsi : (loc V) où V est une variable globale. Les variables globales doivent être décrites dans la zone DATA de la mémoire.
LES DEPLACEMENTS
(MOV Loc VS) ; RB <- VS 5.2.2 LES TESTS ET SAUTS (JMP etiq) ; saut inconditionnel (JIP VE) ; saut inconditionnel indirect (JEQ V1 V2 etiq) ; saut si = (JNE V1 V2 etiq) ; saut si NEQ (JEG V1 V2 etiq) ; saut si egalite NUMERIQUE (JGT V1 V2 etiq) ; saut si V1 > V2
(JGE V1 V2 etiq) ; saut si V1 >= V2
(JLT V1 V2 etiq) ; saut si V1 < V2
(JLE V1 V2 etiq) ; saut si V1 <= V2
(JNI VS etiq) ; saut si NIL
(JNN VS etiq) ; saut si not NIL
LES MANIPULATIONS DE PILES ET APPELS A SOUS-PROGRAMMES
(PUSH VS)
(POP RB)
(JSR etiq) ; appel de sous-programme (l’adresse de retour
; est placée sur la pile
(RTN) ; retour d’un sous-programme. Arrête la
; machine si rien à depiler
(NTH R1 NS R2) ; met dans R1 le NS-eme element de la pile
; par rapport a R2. ex: (NTH A0 3 FP)
(SAV) ; sauve l’environnement (avant un appel) et
; lie un bloc (utilise FP)
(REST) ; restore l’environnement (apres un appel) en
; déliant un bloc
(FENTRY nom) ; aucune utilite directe.
; indique simplement le debut d’une procédure
(CALL SYM) ; appel la primitive de nom SYM,
; le bon nombre d’arguments doit se trouver
; sur la pile
LES OPERATIONS PRIMITIVES
(ADD RB V1 V2) ; RB <- V1 + V2
(MUL RB V1 V2) ; RB <- V1 * V2
(SUB RB V1 V2) ; RB <- V1 – V2
(DIV RB V1 V2) ; RB <- V1 / V2 (partie entière)
(MOD RB V1 V2) ; RB <- V1 mod V2 (reste de la division)
(CONS RB V1 V2) ; RB <- (cons V1 V2)
(CAR RB V1) ; RB <- (car V1)
(CDR RB V1) ; RB <- (cdr V1)

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *