Compare commits
2 Commits
ca9e186462
...
be6e8de22e
| Author | SHA1 | Date | |
|---|---|---|---|
| be6e8de22e | |||
| 0a808f53e2 |
21
Epreuve0.asm
Normal file
21
Epreuve0.asm
Normal file
@ -0,0 +1,21 @@
|
||||
_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
Normal file
126
notes.txt
Normal file
@ -0,0 +1,126 @@
|
||||
|
||||
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