DS1 22 23 Nsi
DS1 22 23 Nsi
DS1 22 23 Nsi
Classe :
Prénom : Nom :
DURÉE DE L’ÉPREUVE : 02 h 00
V.MULARD -1-
N.S.I - 1ire: DST 1 2022/2023
9. En déduire le plus grand entier naturel (positif) que l’on puisse coder sur 16 bits (on
donnera sa valeur sous forme de puissance) ?
2. Que valent en base dix les deux entiers relatifs binaires codés sur 1 octet
3. Quelle est l’étendue sur 2 octets en complément à 2? (on donnera le résultat en puissance
de 2)
4. Donnez en binaire les nombres 20 et -15 sur 8 bits en complément à 2 puis calculer 20-15
en complément à 2.
2. On veut coder la fonction BienParenthesee(machaine), qui revoie True si la chaîne est bien
parenthésée, False sinon.
V.MULARD -3-
def nombre_chiffres(x):
"""x est un entier strictement positif
renvoie ............................"""
t=0
while x != 0:
x = x // 2
t=t+1
return t
a='bonjour'
a[0]='B'
V.MULARD -4-
(a) Additionner la valeur stockée dans le registre R0 et la valeur stockée dans le registre
R1, le résultat est stocké dans le registre R5
(b) Placer la valeur stockée à l’adresse mémoire 878 dans le registre R0
(c) Placer le contenu du registre R0 en mémoire vive à l’adresse 124
(d) Si la valeur stockée dans le registre R0 est égale 42 alors la prochaine instruction à
exécuter se situe à l’adresse mémoire 85 , sinon la prochaine instruction à exécuter se
situe en mémoire vive à l’adresse 478
3. Des entiers sont stockés aux adresses 7,8,9,10 dans la mémoire vive. Écrire une suite
d’instructions en assembleur qui additionne le contenu de ces mémoires et le stocke à
l’adresse 11. Pour cela, vous n’avez le droit d’utiliser que deux registres : R0 et R1
Attention : TOURNER LA PAGE !!! Encore une question
V.MULARD -5-
4. Les cases mémoires 11, 12, 13, de la mémoire vive contiennent des entiers. Que fait le pro
gramme suivant :
1
1 2
0
0 1
1
1 4
0
2 1
1
1 6
0
4
LDR
1
R0,11
0
CMP
6
R0,#2
1 BEQ
0 112
8 LDR
R2,13
1 STR
1 R2,30 B
0 116
LDR
1 R2,12
STR HALT S
R2, 30
V.MULARD -6-