Td 1 microprocesseur - informatique industrielle - télécharg

Informatique Industrielle : TD 1 Microprocesseur

Télécharger PDF

Exercice 1 : Résultats des instructions

1- Après LDA #$56, le registre A contient $56.

2- Après ADDD #$5006, CLRA, COMB et STD $500A, les registres A et B contiennent respectivement $00 et $00, et l’adresse $500A contient $E6D5 + $5006 = $36DC.

3- Après NEGB, INCB, ADDD #$46, SUBB #$46 et STB $5002, le registre B contient $00 et l’adresse $5002 contient $00.

Exercice 2 : Modes d’adressage et résultats

Analyse des instructions

CLRB : Le registre B est mis à $00.

LDA #$0C : Le registre A contient $0C.

STA $0100 : L’adresse $0100 contient $0C (mode adressage direct).

LDA #$01 et TFR A,DP : Le registre DP (Data Page) contient $01.

LDA #$A7 et STA $01 : L’adresse $01A7 contient $A7 (mode adressage direct avec DP).

LDX #$0100 : Le registre X contient $0100.

Loop1 : LDA ,X : Charge $0C dans A (adresse $0100).

INCB : Incrémente B de 1.

ADDA B,X : A = $0C + $0C = $18 (adresse $0100 + $0001).

STA ,X+ : Stocke $18 à $0101 et incrémente X.

CMPX #$0001 et Beq loop1 : Compare X à $0101 (car DP = $01 et X = $0100 + $0001).

BRA loop2 : Retourne à loop2.

Contenu mémoire après exécution

Adresse $0100 : $0C

Adresse $0101 : $18

Adresse $01A7 : $A7

Registre B : $01

Registre X : $0101

Exercice 3 : Programme de copie et soustraction

Copie des valeurs

LDA #$46
STA $0030
LDA #$61
STA $00C0
LDA #$07
STA $0110
LDA #$46
STA $0190

Soustraction des constantes

LDA #$55
SUBA #$55
STA $0020
LDA #$45
STA $0020
SUBA $0020
STA $0020

Soustraction avec retenue

LDA #$00
TFR A,DP
LDD $0020
SUBA $0071
STA $0071

Exercice 5 : Addition de deux nombres binaires (N et M)

a) Mode adressage étendu

LDA $1010
ADDA $1011
STA $1020

b) Mode adressage direct

LDA
ADDA
STA

c) Mode adressage indexé (X)

LDX #$1010
LDA $1010,X
ADDA $1011,X
STA $1020,X

Exercice 6 : Addition des nombres de $30 à $40

LDX #$30
LDD #$0000
Loop: ADDD $30,X
LEAX $0001,X
CMPX #$41
BNE Loop
STD $50

Exercice 7 : Transfert de 16 octets

Transfert normal

LDX #$120
Loop: LDA ,X
STA $170,X
LEAX $0001,X
CMPX #$130
BNE Loop

Transfert avec inversion des octets

LDX #$120
Loop: LDA ,X
STA $17F,X
LEAX $0001,X
CMPX #$130
BNE Loop

Exercice 8 : Produit arithmétique de deux nombres binaires

a) Mode adressage étendu

LDA $0040
LDD $0041
PSHS A
PSHS B
PULS A,B
MUL
STA $0050
STB $0051

b) Mode adressage direct

LDA
LDD
PSHS A
PSHS B
PULS A,B
MUL
STA
STB

c) Mode adressage indexé (X)

LDX #$0040
LDA $0040,X
LDD $0041,X
PSHS A
PSHS B
PULS A,B
MUL
STA $0050,X
STB $0051,X

Exercice 9 : Addition arithmétique de deux nombres binaires sur 16 bits

a) Mode adressage étendu

LDA $4000
ADDA $4002
STA $4004
LDA $4001
ADCA $4003
STA $4005

b) Mode adressage direct

LDA
ADDA
STA
LDA
ADCA
STA

c) Mode adressage indexé (X)

LDX #$4000
LDA $4000,X
ADDA $4002,X
STA $4004,X
LDA $4001,X
ADCA $4003,X
STA $4005,X

Exercice 10 : Multiplication arithmétique de deux nombres binaires sur 16 bits

a) Mode adressage étendu

LDA $4000
LDD $4002
PSHS A
PSHS B
PULS A,B
MUL
STA $4004
STB $4005

b) Mode adressage direct

LDA
LDD
PSHS A
PSHS B
PULS A,B
MUL
STA
STB

c) Mode adressage indexé (X)

LDX #$4000
LDA $4000,X
LDD $4002,X
PSHS A
PSHS B
PULS A,B
MUL
STA $4004,X
STB $4005,X

Exercice 11 : Recherche du max/min et tri décroissant

Recherche du max et min

LDX #$0200
LDA $0200,X
STA $0202
LDD $0200,X
Loop: LEAX $0001,X
LDA $0200,X
CMPA $0202
BLS Min
STA $0202
BRA Next
Min: STA $0203
Next: LEAX $0001,X
CMPX #$0202
BNE Loop

Tri décroissant

LDX #$0200
LoopExt: LEAY $0001,X
LoopInt: LDA ,X
CMPA ,Y
BHI Echange
LEAY $0001,Y
CMPY X
BNE LoopInt
LEAX $0001,X
CMPX #$0214
BNE LoopExt
BRA Fin
Echange: PSHS A
PSHS Y
PULS B,Y
PSHS X
PULS A,X
PSHS A
PULS B,X
PULS A
STA ,X
LEAY $0001,Y
BRA Echange
Fin: END

FAQ

Qu’est-ce que le mode d’adressage étendu ?

Le mode d’adressage étendu permet d’accéder à une adresse mémoire sur 16 bits, en utilisant deux octets pour spécifier l’adresse.

Comment fonctionne l’instruction TFR ?

L’instruction TFR (Transfer Register) permet de transférer le contenu d’un registre vers un autre registre, comme par exemple TFR A,DP qui copie le contenu du registre A vers le registre DP.

Quelle est la différence entre ADDA et ADDD ?

ADDA ajoute le contenu d’un registre ou d’une mémoire au registre A, tandis que ADDD ajoute le contenu d’une mémoire à 16 bits au registre D (composé des registres A et B).

Cela peut vous intéresser :

Partagez vos remarques, questions , propositions d'amélioration ou d'autres cours à ajouter dans notre site

Enregistrer un commentaire (0)
Plus récente Plus ancienne