Académique Documents
Professionnel Documents
Culture Documents
EXERCICE N°2:
Soient deux nombres N1 et N2 chacun sur 2 octets. Elaborer un programme qui
réalise la soustraction (le plus grand moins le plus) et déposé le résultat en
mémoire.
EXERCICE N°3:
Soit une fonction algébrique T(x) ,a=3
T(x)=ax2-2
Ecrire un programme qui génère la table T en fonction de x :
x 1 2 3 4 5 6 7 8 9 10
T … … … … … … … … … …
EXERCICE N°4:
Soit la table
T1 DB 61H,96H,0F7H,43H,0D7H,75H,0B8H,8AH,5DH,1CH , 29H
Elaborer un programme qui inverse l’ordre d’organisation de T1
EXERCICE N°5:
Soit un nombre n présenté sur deux octets. Ecrire un bout de programme qui
donne le nombre de 1 (ou de zéro) dans sa représentation binaire.
*--------------------------------------------------------------------------------------------
1
Solution-1 :Addition de 2 tables T1 et T2 (octets) ,
T3 table résultat sur 2 octets
STACK SEGMENT
DB 64H PUR(0)
STACK ENDS
DATA SEGMENT
T1 DB 61H,96H,0F7H,43H,0D7H,75H,0B8H,8AH,5DH,1CH
T2 DB 84H,0E6H,29H,34H,98H,0C3H,0F5H,0CCH,4AH,0B2H
T3 DW 0AH PUR(0)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START:
MOV AX,DATA ;Initialisation de DS.
MOV DS,AX
MOV AX,STACK ;Initialisation de SS.
MOV SS,AX
MOV AX,0
MOV DX,0
MOV CX,0AH
LEA SI,T1
LEA DI,T2
LEA BX,T3
BOUCLE:
MOV AL,[SI]
MOV DL,[DI]
ADD AX,DX
MOV [BX],AX
MOV AH,0
INC SI
INC DI
INC BX
INC BX
LOOP BOUCLE
NOP
HLT
CODE ENDS ;
END START 2
*---------------------------------------------------------------------------------------
DATA SEGMENT
T1 DB 61H,96H,0F7H,43H,0D7H,75H,0B8H,8AH,5DH,1CH
T2 DB 84H,0E6H,29H,34H,98H,0C3H,0F5H,0CCH,4AH,0B2H
T3 DW 0AH PUR(0)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START:
MOV AX,DATA ;Initialisation de DS.
MOV DS,AX
MOV AX,STACK ;Initialisation de SS.
MOV SS,AX
MOV AX,0
MOV DX,0
MOV CX,0AH
LEA SI,T1
LEA DI,T2
LEA BX,T3
BOUCLE:
MOV AH,0
MOV AL,[SI]
ADD AL,[DI]
JC SAUT
JMP SAUT1
SAUT:
MOV AH,1
SAUT1:
3
MOV [BX],AX
CLC
INC SI
INC DI
INC BX
INC BX
LOOP BOUCLE
NOP
HLT
CODE ENDS ;
END START
*--------------------------------------------------------------------------------
4
MOV AX,[N2]
SUB AX,[N1]
MOV [R],AX
NOP
HLT
CODE ENDS ;
END START
*--------------------------------------------------------------------------------
5
Solution Ex03
STACK SEGMENT
DB 64H PUR(0)
STACK ENDS
DATA SEGMENT
X DB 1H
a DB 3H
T DW 0AH PUR(0)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START:
MOV AX,DATA ;Initialisation de DS.
MOV DS,AX
MOV AX,STACK ;Initialisation de SS.
MOV SS,AX
MOV AX,0
MOV DX,0
MOV SI,OFFSET T
MOV CX,0AH
MOV BL,[X]
MOV AX,BX
BOUCLE:
CALL Fx:
INC [X]
INC SI
INC SI
MOV BL,[X]
MOV AX,BX
LOOP BOUCLE
nop
hlt
Fx:
MUL BL
MUL [a]
SUB AX,2
MOV [SI],AX
RET
CODE ENDS ;
END START
*--------------------------------------------------------------------------------
6
Solution Ex04
STACK SEGMENT
DB 64H PUR(0)
STACK ENDS
DATA SEGMENT
T1 DB 61H,96H,0F7H,43H,0D7H,75H,0B8H,8AH,5DH,1CH,29H
N DB 0BH
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START:
MOV AX,DATA ;Initialisation de DS.
MOV DS,AX
MOV AX,STACK ;Initialisation de SS.
MOV SS,AX
MOV CL,[N]
SHR CL,1
LEA SI,T1
LEA DI,T1+10
BOUCLE:
MOV AL,[SI]
XCHG AL,[DI]
XCHG AL,[SI]
INC SI
DEC DI
LOOP BOUCLE
NOP
HLT
CODE ENDS ;
END START
*--------------------------------------------------------------------------------
7
Exercice N°5 nombre de un dans double octet
STACK SEGMENT
DB 64H PUR(0)
STACK ENDS
DATA SEGMENT
N DW 0B9F5H
X DB 0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START:
MOV AX,DATA ;Initialisation de DS.
MOV DS,AX
MOV AX,STACK ;Initialisation de SS.
MOV SS,AX
MOV AX,0
MOV CX,16
BOUCLE:
SHR [N],1
JNC SAUT
INC [X]
LOOP BOUCLE
JMP FIN
SAUT:
LOOP BOUCLE
FIN:
HLT
CODE ENDS ;
END START
*--------------------------------------------------------------------------------
8
EXERCICE N°1:
Ecrire un programme qui réalise T3(i)= T1(i) + T2(i)
T1 DB 61H,96H,0F7H,43H,0D7H,75H,0B8H,8AH,5DH,1CH
T2 DB 84H,0E6H,29H,34H,98H,0C3H,0F5H,0CCH,4AH,0B2H
T3 DW 0AH PUR(0)
EXERCICE N°2:
Soient deux nombres N1 et N2 chacun sur 2 octets. Elaborer un programme qui réalise
la soustraction (le plus grand moins le plus) et déposé le résultat en mémoire.
EXERCICE N°3:
Soit une fonction algébrique T(x) ,a=3
T(x)=ax2-2
Ecrire un programme qui génère la table T en fonction de x :
x 1 2 3 4 5 6 7 8 9 10
T … … … … … … … … … …
EXERCICE N°4:
Soit la table
T1 DB 61H,96H,0F7H,43H,0D7H,75H,0B8H,8AH,5DH,1CH , 29H
Elaborer un programme qui inverse l’ordre d’organisation de T1
EXERCICE N°5:
Soit un nombre n présenté sur deux octets. Ecrire un bout de programme qui donne le
nombre de 1 (ou de zéro) dans sa représentation binaire.
*----------------------------------------------------------------------------------------------------
EXERCICE N°1:
Ecrire un programme qui réalise T3(i)= T1(i) + T2(i)
T1 DB 61H,96H,0F7H,43H,0D7H,75H,0B8H,8AH,5DH,1CH
T2 DB 84H,0E6H,29H,34H,98H,0C3H,0F5H,0CCH,4AH,0B2H
T3 DW 0AH PUR(0)
EXERCICE N°2:
Soient deux nombres N1 et N2 chacun sur 2 octets. Elaborer un programme qui réalise
la soustraction (le plus grand moins le plus) et déposé le résultat en mémoire.
EXERCICE N°3:
Soit une fonction algébrique T(x) ,a=3
T(x)=ax2-2
Ecrire un programme qui génère la table T en fonction de x :
x 1 2 3 4 5 6 7 8 9 10
T … … … … … … … … … …
EXERCICE N°4:
Soit la table
T1 DB 61H,96H,0F7H,43H,0D7H,75H,0B8H,8AH,5DH,1CH , 29H
Elaborer un programme qui inverse l’ordre d’organisation de T1
EXERCICE N°5:
Soit un nombre n présenté sur deux octets. Ecrire un bout de programme qui donne le
nombre de 1 (ou de zéro) dans sa représentation binaire.
9
10