Bonjour, BEQ est une instruction d'équivalent , donc j'essaye l'instruction mais cela ne fonctionne pas ?
voici le code:
j'essaye de faire une simple instruction d'équivalence donc je charge t1 et t2 à 0 , si t1 = t2 donc à 0 je charge le string a0
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 .global main # Provide program starting address to linker main: jal stdio_init_all mv s1, x0 loop: li t1, 0 # t1 = li t2, 0 # t2 =0 beq t1, t2, ; # if t1 ==2t1 then target la a0, target # load address of helloworld addi s1, s1, 1 mv a1, s1 # counter jal printf li a0, 1250 # waiting time call sleep_ms j loop target: li a0,helloworld # a0 helloworld= .data helloworld: .asciz "Hello RISC-V World %d\n"
mais la il refuse la compilation.
il y a un truc que je ne saisie pas , on dit que x0 est branché à 0 donc si je fait la commande:
ca devrais passer ? mais la cela ne fonctionne pas , peut être qu'il a confusion que t1 n'est pas un registre temporaire ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 li t1, x0 # t1 =
d'ailleur
Partager