get@fix | Dans le cadre d'un projet, on m'a demandé de créer un interpréteur de commande selon le même principe que les machines à registre et on m'a aussi demandé une serie d'algorithmes simple executables sur cette machine ... J'ai été capable de creer l'interpreteur et les premiers algo mais là je commence à avoir mal à la tête pour les suivants ... si quelqu'un pouvait m'aider ...
initi : Les lignes qui suivent sont des registres que l'utilisateur doit renseigner
trava : Les lignes qui suivent sont des registres de travail
resul : Les lignes qui suivent sont des registres de résulat
codex : Les lignes qui suivent sont des lignes de code
|
k :nul registre => registre:=0;
k:=k+1;
k :dec registre,etiquette => registre:=registre-1;
k:=etiquette;
k :inc registre => registre:=registre+1;
k:=k+1;
k :jump etiquette => k:=etiquette;
k :halt => k:=$+1; |
Ce que j'ai réussi à programmer :
- Addition (avec perte des opérandes)
initi
R1 R2 resul
R3 codex
nul R3 2 :dec R1 ,5
inc R3 jump 2
5 :dec R2 ,8
inc R3 jump 5
8 :halt |
- Addition (sans perte des opérandes)
initi
A
B
trava
W
resul
S
codex
nul S
nul W
3 :dec A ,7
inc S
inc W ,10 jump 3
7 :dec W ,10 inc A
jump 7
10 :dec B ,14 inc S
inc W
jump 10 14 :dec W ,17 inc B
jump 14 17 :halt |
initi
A
B
trava
W
resul
S
codex
nul S
nul W
3 :dec A ,6
inc W
jump 3
6 :dec B ,11 7 :dec W ,3
inc A
inc S
jump 7
11 :halt |
initi
A
B
trava
C
resul
Q
R
codex
nul C
nul Q
nul R
dec B ,17 inc B
jump 8
7 :inc Q
8 :dec B ,11 inc C
jump 8
11 :dec C ,7
dec A ,14 inc B
jump 11 14 :dec B ,17 inc R
jump 14 17 :halt |
initi
X
E
trava
S
W
X1 X2 resul
Y
codex
nul X1 nul X2 nul Y
inc Y
bcl :dec E ,fin
1 :dec X ,2
inc X1 inc X2 jump 1
2 :nul S
nul W
3 :dec Y ,6
inc W
jump 3
6 :dec X1 ,11 7 :dec W ,3
inc Y
inc S
jump 7
11 :dec S ,14 inc Y
jump 11 14 :dec X2 ,bcl
inc X
jump 14 fin :halt
|
Ce que je n'arrive pas à faire : calcul du PGCD et Suite de Fibonacci ... Donc si quelqu'un peu m'aider ... Message édité par get@fix le 12-05-2003 à 19:05:46
|