Compare commits
No commits in common. "be6e8de22e2d9ae8760c8b337ac25c83b476f54c" and "ca9e186462a894ac6f00517753852ebd3dc7117d" have entirely different histories.
be6e8de22e
...
ca9e186462
21
Epreuve0.asm
21
Epreuve0.asm
@ -1,21 +0,0 @@
|
|||||||
_main:
|
|
||||||
MOV R0 0 ; a
|
|
||||||
MOV R1 1 ; b
|
|
||||||
OUT R0 ; print 0
|
|
||||||
|
|
||||||
_loop:
|
|
||||||
OUT R1 ; print b
|
|
||||||
MOV R2 0 ; 0
|
|
||||||
MOV R3 R0 ; c = a
|
|
||||||
SUB R2 R1 ; 0 - b
|
|
||||||
SUB R3 R2 ; a - (0 - b) = a - -b = a + b
|
|
||||||
|
|
||||||
MOV R0 R1 ; a = b
|
|
||||||
MOV R1 R3 ; b = c
|
|
||||||
|
|
||||||
CMP R0 R1
|
|
||||||
JLT _end ; end si b < a
|
|
||||||
JMP _loop
|
|
||||||
|
|
||||||
_end:
|
|
||||||
JMP _end
|
|
||||||
126
notes.txt
126
notes.txt
@ -1,126 +0,0 @@
|
|||||||
|
|
||||||
a = 0
|
|
||||||
b = 1
|
|
||||||
c = 1
|
|
||||||
|
|
||||||
print a
|
|
||||||
|
|
||||||
loop
|
|
||||||
print b
|
|
||||||
c = a + b
|
|
||||||
a = b
|
|
||||||
b = c
|
|
||||||
loop si b < c
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
a b
|
|
||||||
R0 R1 R2 R3
|
|
||||||
233 121 -233 121
|
|
||||||
|
|
||||||
|
|
||||||
OUT
|
|
||||||
0
|
|
||||||
1
|
|
||||||
1
|
|
||||||
2
|
|
||||||
|
|
||||||
233
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
a + b = a - -b
|
|
||||||
|
|
||||||
SUB R0 R1
|
|
||||||
R0 - R1
|
|
||||||
|
|
||||||
R0 = 0
|
|
||||||
R1 = b
|
|
||||||
R2 = a
|
|
||||||
0 - b
|
|
||||||
R0 = -b
|
|
||||||
|
|
||||||
|
|
||||||
R0 = a
|
|
||||||
R1 = b
|
|
||||||
R2 = 0, -b
|
|
||||||
R3 = ?
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
_data:
|
|
||||||
_add:
|
|
||||||
PUSH R2
|
|
||||||
MOV R2 0
|
|
||||||
SUB R2 R1 ; 0 - b
|
|
||||||
SUB R0 R2 ; a - (0 - b) = a - -b = a + b
|
|
||||||
POP R2
|
|
||||||
RET
|
|
||||||
_main:
|
|
||||||
MOV R0 0
|
|
||||||
MOV R1 1
|
|
||||||
|
|
||||||
...
|
|
||||||
|
|
||||||
R2 = 7
|
|
||||||
CALL _add
|
|
||||||
R2
|
|
||||||
|
|
||||||
SUB R0 R1
|
|
||||||
SUB R2 R0
|
|
||||||
a - -b
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
LDR Rx Ry _label ;génération binaire 1011xxyy aaaaaaaa avec xx et
|
|
||||||
;yy = R0,R1,R2,R3
|
|
||||||
;load dans le registre xx la valeur à l'adresse aaaaaaaa+Ry
|
|
||||||
|
|
||||||
|
|
||||||
CMP Rx Ry ;génération binaire 0011xxyy avec xx et yy = R0,R1,R2,R3
|
|
||||||
;compare le registre xx à la valeur du registre yy, modifie
|
|
||||||
;les flags LT et EQ
|
|
||||||
;LT= (Rx<Ry), EQ=(Rx==Ry)
|
|
||||||
|
|
||||||
JLT _label ;génération binaire 11000000 aaaaaaaa
|
|
||||||
;saut conditionnel (flag LT=1) à l'adresse aaaaaaaa
|
|
||||||
|
|
||||||
|
|
||||||
MOV Rx valeur ;génération binaire 111000xx vvvvvvvv avec xx = R0,R1,R2,R3
|
|
||||||
;met dans le registre xx la valeur vvvvvvvv
|
|
||||||
|
|
||||||
|
|
||||||
OUT Rx ;génération binaire 111100xx avec xx = R0, R1,R2,R3
|
|
||||||
;met la valeur du registre Rx dans le périphérique de sortie
|
|
||||||
;dans le cas du robot, le périphérique de sortie est connecté aux
|
|
||||||
; Moteurs les valeurs sont les vitesses svvvsvvv pour moteur
|
|
||||||
; gauche et moteur droit
|
|
||||||
;svvv vitesse -8..7, gauche et droite
|
|
||||||
;svvv 4-bits signé en complément à deux
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user