1

slt tt le monde,
je suis debutant en assembleur et j'aimerais savoir comment initialiser un tableau. en effet, j'aimerai pouvoir mettre des valeurs dans ce tableau ne sachant pas exactement combien de valeur il va contenir. j'aimerais ensuite savoir comment on fait pour savoir quel est la derniere valeur de ce tableau sachant que je ne connais pas la taille du tableau.
merci d'avance

2

main:
        mov     ip, sp
        stmfd   sp!, {fp, ip, lr, pc}
        sub     fp, ip, #4
        sub     sp, sp, #4
        mov     r3, #0
        str     r3, [fp, #-16]
.L2:
        ldr     r3, [fp, #-16]
        cmp     r3, #255
        bgt     .L3
        ldr     r1, .L5
        ldr     r2, [fp, #-16]
        mov     r3, #66
        str     r3, [r1, r2, asl #2]
        ldr     r3, [fp, #-16]
        add     r3, r3, #1
        str     r3, [fp, #-16]
        b       .L2
.L3:
        mov     r0, r3
        ldmfd   sp, {r3, fp, sp, pc}
.L6:
        .align  2
.L5:
        .word   tableau
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

3

merci Godzil, mai que represente exactement L2, L3.....
pourrais-je avoir quelques explications STP
merci d'avance

4

c'est surtout toi qui devrais être un peu plus précis smile

déja, quel cpu?

ton nickname contient 8051, godzil a donné un code ARM (grin)

un tableau c'est l'adresse de la premiere case, mais si tu fais rien, tu peux pas connaitre la fin du tableau, sauf si il contient une valeur spéciale, comme le zéro terminal d'une chaine de caracteres smile

5

(j'aurais pu donner du 6809 ou du 6502 mais j'ai pas osé :s)
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

6

j'utilise un ds87c550 mais il est compatible avec un 8051

7

alors ça doit passer par les pointeurs externes, je sais plus comment il s'appelle.

8

ok merci beaucoup

9

j'ai essayer ce programme mais j'ai 18 erreurs, cela provient peut etre de mon logiciel, j'utilise le MIDE-51.

10

je n'arrive pas a declarer mon tableau avec le microcontroleur 8051.
comment faire? what

11

ce prog est de l'ARM pas du 8051 grin

pour déclarer un tableau tu dois connaitre sa taille, sinon tu dois coder malloc() et bon courage grin

12

on est en assembleur la squalyl tongue et m'étonnerait qu'il y ai un OS qui fasse de l'allocation mémoire, donc il doit pouvoir utiliser a peut pret ce qu'il veux et ou il veux en memoire grin
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

13

oué je sais hein hehe

(ça peut se faire un malloc en asm 8051 sans OS trivil mais c'est vrai, c'est pas le sujet smile )

bref, en général en ASM on a une directive d'assemblage du type ".skip <nb_octets>" qui permet de dire à l'assembleur de sauter cette zone parce qu'on veut l'utiliser pour un tableau (il a demandé "comment déclarer le tableau")

14

ok merci squalyl