BUT2/SCR/SCR1.2/TP16-ARM/reponse.txt~
2023-10-23 13:23:36 +02:00

70 lines
1.7 KiB
Plaintext

|----------------|
|IMPORTANT: |
|ssh 172.16.3.173|
|----------------|
1) uname -a
système d'exploitation = 64 bits
2)lscpu
architecture = x86_64
3)
as -gstabs -o exe.o test.s
ld -O0 -o exe exe.o
./exe
file exe
l <nb1>-<nb2> = affiche les lignes de code de n1 à n2
i r <registre> = information
X /<type> <adresse> = examine
<type=s> = string
[s / step] = suivant
<type=14cb> = décomposition du string
b <numLigne> = breakpoint
----------------------------------------
adr <addresse>,<variable> = met une variable dans une addresse
ldr <registre>,[<valeur>] = load (charge dans un registre la valeur stocké dans une adresse)
str <registre>,[<valeur>] = store (décharge la valeur stocké dans un registre à une adresse)
sxtw <registreDest> <registreSrc> = Sign eXTend Word (étend le bit de signe dans à la destination dans le registre d'origine)
sxts --> 64 bits
sxtw --> 32 bits
sxth --> 16 bits
sxtb --> 8 bits
uxt? --> Unsigned eXTend *
xzr = 0
add <dest><nb1><nb2> = met le resultat de nb1 et nb2 dans dest
adds .. = parreille sauf que ça met à jour les flags NZCV
flags:
N = négatif
Z = si résultat nul
V = en cas de débordement
C = retenus sortante
nrs x4, nzcv = met dans x4 les flags nzcv
lsl = logical shift left (décale les bit vers la gauche (multiplie))
lsr = logical shift left (décale les bit vers la droite (divise))
asr = (décalage à droite, plus met le bit de signe sur les bits libérer à gauche)
ont peut faire une addition et un décalage en une seul opération.
ex: add x1,x0,x0,lsl #4
=> x0 + x0*2**4
=> x0 + 16*x0
=> 17*x0
ex:sub x1,xzr,x2,lsl #3
=> 0 - x2*2**3
=> -8*x2
Les registre vont de 1 à 12 (et ont une lettre devant w,h,b)