Professional Documents
Culture Documents
Programmation en assembleur :
Tout programme doit tre transform en langage machine (suite de code binaire)pour
tre comprhensible par les circuits internes du microprocesseur. Le langagemachine peut tre
entr manuellement, mais cette tche est complexe et sujette denombreuses erreurs. Le
langage assembleur est le niveau suprieur au langagemachine, et est utilis uniquement dans
la programmation des microprocesseurs etautres composants semi-conducteurs complexes.
Le jeu de registres :
Il tait compatible au niveau du code binaire avec le plus clbre Intel 8080, mais
demandait moins de matriel environnant, ce qui permit la cration de micro-ordinateurs plus
simples et moins chers construire.
Le 5 dans le numro du modle provient du fait que les 8085 exigeaient seulement
une alimentation de +5V plutt que les +5V, -5V et +12V exigs par les 8080. Cependant, il
tait plus lent que le 8080. Sa vitesse tait de 1,5 million d'instructions la seconde avec une
horloge 6,144 MHz, et 4 cycles par instruction.
Ces deux processeurs ont parfois t utiliss dans des ordinateurs bass sur le systme
d'exploitation CP/M. Ils furent par la suite supplants par le Zilog Z80, compatible et plus
efficace, qui remporta la majeure partie du march des ordinateurs CP/M et des ordinateurs
personnels du milieu et de la fin des annes 1980.
1
mme, il fut embarqu sur le robot de la mission Mars Pathfinder[1]. Il est actuellement
encore utilis dans lenseignement
La mmoire est segmente en 16 blocs de 64 Ko et une adresse sur 20 bits est obtenue
en combinant deux parties :
registres de segmentation :
2
registres pointeurs ou dindex :
MOV AX, 600H IP=0000 immdiat Cela signifie que la valeur 600h sera stocke immdiatement dans le
AH=06 registre AX
MOV DS, AX IP=0003 registre Cela signifie que l'oprande stocke dans le registre AX sera transfre
DS=0600 vers le registre DX
MOV AX, 700H IP=0005 immdiat Cela signifie que le valeur 700h sera stocke immdiatement dans le
AH=07 registre AX
MOV SS, AX IP=0008 registre Cela signifie que l'oprande stock dans le registre AX sera transfre
SS=0700 vers le registre SS
MOV AX, 800H IP=000A Immdiat cela signifie que la valeur 800h sera stocke immdiatement dans le
AH=08 registre AX
MOV ES, AX IP=000D Registre Cela signifie que l'oprande stocke dans le registre AX sera transfre
4
ES=0800 vers le registre ES
MOV AX, 1234H IP=000F Immdiat Cela signifie que la valeur 1234h sera stocke immdiatement dans le
AX=1234 registre AX
MOV BX, AX IP=0012 Registre Cela signifie que l'oprande stock dans le registre AX sera transfre
BX=1234 vers le registre BX
MOV CX, BX IP=0014 Registre Cela signifie que l'oprande stocke dans BX sera transfre vers le
CX=1234 registre CX
MOV DL, CH IP=0016 Registre Cela signifie que l'oprande stock dans le registre CH sera transfre
DL=12 vers le registre DL
MOV [100H], DL IP=0018 Direct L'oprande stocke dans le registre DL sera transfre vers la case
mmoire dans l'adresse 100h
MOV [102H], AX IP=001C Direct L'oprande stocke dans le registre AX sera transfre vers la case
mmoire dans l'adresse 102h
MOV CH, [102H] IP=001F Direct La valeur 102h est un constante qui doit tre ajout au contenu du
CH=00 registre CH pour fermer l'adresse physique 20bites
MOV BX, 104H IP=0023 Immdiat Cela signifie que la valeur 104h sera stocke immdiatement dans le
BX=0104 registre BX
MOV [BX], AL IP=0026 Indirect bas L'oprande stocke dans le registre AL sera transfre vers la case
mmoire dans l'adresse se trouve dans le registre BX
MOV BP, 104H IP=0028 Immdiat Cela signifie que la valeur 104h sera stocke immdiatement dans le
BP=0104 registre BP
MOV [BP], DL IP=002B Indirect bas L'oprande stocke dans le registre DL sera transfre vers la case
mmoire dans l'adresse se trouve dans le registre BP
MOV DH,[BX]+4 IP=002E Relatif a une Cela signifie que dans le registre DH on a mettre le contenu d
base case mmoire pointe par bh+4
MOV DH,[BP]+4 IP=0031 Relatif a une Cela signifie que dans le registre DH on a va mettre le conten
base la case mmoire pointe par BP+4
MOV DI, 3H IP=0034 Immdiat Cela signifie que la valeur 2h sera stocke immdiatement dan
ID=0003 registre DI
MOV [DI], AX IP=0037 Indirect index L'oprande stocke dans le registre AX sera transfre vers la
mmoire dans l'adresse se trouve dans le registre DI
MOV AX, 100H IP=0039 Immdiat Cela signifie que la valeur 100h sera stocke immdiatement d
AX=0100 le registre AX
MOV DS, AX IP=003C Registre Cela signifie que l'oprande stocke dans le registre AX
DS=0100 transfre vers le registre DS
MOV DH, 78H IP=003E Immdiat Cela signifie que la valeur 78h sera stocke immdiatement dan
DH=78 registre DH
5
MOV [100H], DH IP=0040 Direct L'oprande stocke dans le registre DH sera transfre vers la
mmoire dans l'adresse 100h
MOV [102H], CX IP=0044 Direct L'oprande stocke dans le registre CX sera transfre vers la
mmoire dans l'adresse 100h
MOV BX, 100H IP=0048 Immdiat Cela signifie que la valeur 100hsera stocke immdiatement d
BL=00 le registre BX
MOV BP, 100H IP=004B Immdiat Cela signifie que la valeur 100hsera stocke immdiatement d
BP=0100 le registre BP
MOV DL, [BX] IP=004E Indirect bas Le contenu de la case mmoire dans l'adresse se trouve dan
DL=78 registre BX est mise dans le registre DL
MOV DL, [BP] IP=0050 Indirect bas Le contenu de la case mmoire dans l'adresse se trouve dan
DL=00 registre BP est mise dans le registre DL
MOV BX,[BX] +2 IP=0053 Relatif a une Cela signifie que dans le registre BX on va mettre le contenu d
BX=0034 base case mmoire pointe par BX+2
MOV DH, [BP] +2 IP=0056 Relatif a une Cela signifie que dans le registre BP on va mettre le contenu d
DH=00 base case mmoire pointe par BH+2
MOV SI, 1 IP=0059 Immdiat Cela signifie que la valeur 1 sera stocke immdiatement dan
SI=0001 registre SI
MOV DL,[BX][SI] IP=005C Indirect bas- Cela signifie que dans le registre DL on va charger le contenu
index case mmoire pointe par BX+SI
MOV DL,[BP][SI] IP=005E Indirect bas- Cela signifie que dans le registre DL on va charger le contenu
index case mmoire pointe par BP+SI
I I. Conclusion :
Lapprentissage de la programmation en assembleur tant une tche ardue pour un
programmeur, nous avons tent, au travers de cette application, de la lui faciliter. Son
6
interface conviviale, mettant laccent sur les bases en laissant les dtails trop techniques de
ct, a pour ambition daider le dbutant mieux apprhender le fonctionnement de
lassembleur.