Documente Academic
Documente Profesional
Documente Cultură
Directorul
curent
(selectat)
Click pentru
editare.
Enter schimb
valoarea
Valoarea editat
trebuie dat n
formatul curent
Selecteaz
Alege spaiul de
formatul memorie
care va fi
utilizat Adresa de
nceput
Selecteaz
Adresa de
unul sau
sfrit
mai multe
registre (cu
Schimbarea formatului poate fi aplicat unor
CTRL)
registre i unei zone de memorie simultan
Zecimal Binar
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
-8 1000
-7 1001
-6 1010
-5 1011
-4 1100
-3 1101
-2 1110
-1 1111
Exemplu: 0011 = 23 0 + ( 20 1 + 21 1 + 22 0 ) = 3
B B-1 0 f = 20 s + 2 i bB i (1.2)
i =1
2 i =0 i =0 k =1
Observaii:
Nu orice numr fracionar poate fi reprezentat pe un numr finit de bii.
De exemplu numrul 0.3 reprezentat pe B + 1 = 4 bii este reprezentat
trunchiat:
0.3 23 0.3 = 2.4 = 0010 = 0.25
Valoarea maxim de reprezentare a unui numr fracionar este 1 (n
modul). Astfel la adunare (sau scdere) se poate depi formatul de
reprezentare (overflow):
0.75+ 0110+
0.50 0100
1.25 1010 = 0.75
Laborator 1 Utilizarea procesoarelor Motorola 56300 9
X DATA BUS
Y DATA BUS
P DATA BUS
24 24
X0
X1
OPERAND IMEDIAT
Y0
Y1
24 24
MUX MULTIPLICARE
56
48
UNITATEA PRELUCRARE
PE BIT I DE IFTARE
UNITATEA DE 56
ACUMULARE
I ROTUNJIRE
56
56
IFTARE A(56)
ACUMULATOR B(56)
56 56 56 56
IFTARE/LIMITARE
24
24
Figura 1.2. Schema bloc a unitii aritmetice i logice pentru date (DALU)
Laborator 1 Utilizarea procesoarelor Motorola 56300 11
DAT A ALU
X REGISTRE DE INT R ARE Y
47 0 47 0
X1 X0 Y1 Y0
23 0 23 0 23 0 23 0
DAT A ALU
REGISTRE ACUM UL ATO R
A B
55 55
* A2 A1 A0 * B2 B1 B0
23 7 0 23 0 23 0 23 7 0 23 0 23 0
*Citii ca bii de extensie de sem n.
SUB S,D DS D
S - sursa: registru: B/A,X,Y,X0,Y0,X1,Y1
valoare imediat: #$xx, #$xxxxxx
D - destinaia: acumulator: A/B
MPY ()S1,S2,D S1 S 2 D
S1, S2 - surse: registre: X0,Y0,X1,Y1
D - destinaia: acumulator: A,B
MPY ()S,#n,D S 2n D
S - sursa: registre: X0,Y0,X1,Y1
#n valoare imediat <24
D - destinaia: acumulator: A,B
12 APLICAII ALE PROCESOARELOR DE SEMNAL N COMUNICAII
Tot n cadrul ALU de date se pot face deplasri (shiftri) ale valorii aflate
n acumulator. Exist deplasare aritmetic i deplasare logic. Deplasarea
aritmetic nseamn c se pstreaz informaia de semn, spre deosebire de
deplasarea logic unde se realizeaz o deplasare a tuturor biilor. Deplasarea la
stnga cu un bit nseamn nmulirea cu 2, deplasarea la dreapta cu un bit
nseamn mprire la 2. Deplasarea cu B bii nseamn nmulirea (sau
mprirea) cu 2 B .
MOVE S,D
S - sursa: valoare cu semn pe 8 bii: #$xx
valoare cu semn pe 24 bii: #$xxxxxx
D - destinaia: registru: X,Y,X0,Y0,X1,Y1
acumulator: A,B,A0,A1,B0,B1
De exemplu:
move #$6,x0
Valoarea $6 este considerat pe 8 bii i este echivalent cu:
move #<$6,x0 Registrul x0 va fi: $ 060000
Dac vrem s form reprezentarea numrului 6 pe 24 de bii se folosete:
move #>$6,x0 Registrul x0 va fi: $ 000006
n al doilea caz instruciunea MOVE ocup dou cuvinte n memoria de
program.
14 APLICAII ALE PROCESOARELOR DE SEMNAL N COMUNICAII
Exerciiul 1:
S se adune numerele 0.75 i 0.25.
Explicai diferenele.
Exerciiul 2:
S se modifice programul anterior pentru a aduna numerele -0.75 i 0.25.
De ce se modific registrul a2 dup efectuarea adunrii?
Laborator 1 Utilizarea procesoarelor Motorola 56300 15
Exerciiul 3:
S se nmuleasc numerele -0.5 i 0.25.
INTREG FRACIONAL
S S S S
REZULTAT 2N 1 REZULTAT 2N 1
EXTENSIE DE SEMN COMPLETARE CU ZERO
2N BII 2N BII
Exerciiul 5:
S se nmuleasc numerele 4 i 8.
move #>$000004,x0
move #>$000008,y0
mpy x0,y0,a ; a = x0*a0
asr a ; a = a/2