Microcontrôleur
TD N°2
Exercice 1
Donner les Banks de chacune de ces adresses :
0x30 0xA0
0x70 0x180
0x1F0 0x90
Exercice 2
Donner les instructions en assembleur qui permettent d’effectuer les opérations suivantes :
W + 20 -> W ; W – 21h -> W
21h – W -> W ; [70h] -> W
[1B0h] -> W ; [30h] + W -> W
[30h] + W -> [30h] ; [30h] + W -> [50h]
W + [30h] -> [121h] ; W – [41h] -> [121h]
Exercice 3
Comparer les contenus des cases mémoires 6Fh et EFh, s’ils sont égaux mettre à zéro tous les bits
de la case 16Fh sinon mettre à 1 tous les bits de la case 1EFh.
Exercice 4
Donner le programme en assembleur qui effectue les opérations suivantes :
b=x+z–y+5
si b > 8bits mettre 0x01 dans l’adresse 0x31
si b = 0 mettre 0x0F dans l’adresse 0x33
Les adresses de b, x, y et z sont respectivement : 0x30, 0x1A0, 0xE5 et 0x130.
Exercice 5
Que fait le programme suivant :
movlw 0xA3
movwf FSR
bsf STATUS,IRP
bcf STATUS,RP0
bcf STATUS,RP1
Movf 0x23,0
Movwf INDF
Exercice 6
Ecrire un programme qui permet de remettre à 0 les registres entre l’adresse 15h et
l’adresse 1Fh en utilisant l’adressage indirect.