Sunteți pe pagina 1din 6

L3 – Arhitectura MP si organizarea datelor – P2

I. Codificarea BCD – Binary Coded Decimal


(Nr. Zecimale codificate in Binar)

Baza: 10 -> 2 ………. 2 -> 10 ?!!


Baza H: 16 = 24 < --> 2 (cifra H - grup de 4 cifre binare)

Exemplu BCD:
11 (def. BCD )
I

M = 186310 = 0001 . 1000 . 0110 . 0011BCDI


N = 649110 = 0110 . 0100 . 1001 . 0001BCDI
R = 835410 =? 0111 . 1100 . 1111 . 01002
7 C F 4 ???????????
+0110=
1 . 0101
5
+0110=
1 . 0011
3
1000
8
3710 = 0011.0111BCDI !=
!= 0011.01112 = 20+21+22+24+25 = 1+2+4+16+32 =
= 5510

B=10 B=2 B16


0 0000 0
…………………….
9 1001 9
-------------------------
1010 A
X ………………
1111 F

II. PROGRAMUL din ML


n = 2; -nr. de octeti pe care se reprezinta M, N, R
Adr. Program: 0100H
Adr. Nr. M: a = 0200H
Adr. Nr. N: b = 0300H
Harta mem.: B=n=02
----------------------------
0100H | - PRG |
| - |
| - |
-----------------------------
a=0200H | M= 63 |  DE=a=0200
0201H | 18 |
| - |
-------------------------------
b=0300H | N= 91 |  HL=b=0300
0301H | 64 |
-------------------------------
0302H | R= 54 |  IX+n = b+n = 0302
0303H | 83 |
------------------------------
| - |
B  02
1. A  63
A  A+91 = 63+91 = F4
DAA: F4  1. 54 rez. OK. (CARRY = 1)
Rez  (IX+02=0302H) mem
DE  0201
HL  0301
IX  0301 (IX+n = 0303)
B B-1 = 01 != 0  salt la et CONT (d=????)
2. A  18
A  A+64 +CARRY= 18 + 64 +1 = 7C +1 = 7D
DAA: 7D  0. 83 rez. OK. (CARRY = 0)
Rez  (IX+02=0303H) mem
DE  0202
HL  0302
IX  0302 (IX+n = 0304)
B B-1 = 00 == 0  instr urmatoare = HALT
HALT

XOR B; A  A xor B
XOR A; A  A xor A; A  0000.0000
ADR(H) Instructiunea in Cod binar Hexa Observatii
ASM (pe 8 biti) (Tip instructiune,
Mod de adresare)
0100 LD B, 02H 00 00.0 110 06 Transfer pe 8 biti
0101  n  02 Adresare imediata
0102 LD DE, 0200H 00 01. 0001 11 Transfer pe 16 biti
0103 | |--  nL  00 Adresare imediata
0104 |------  nH  02
0105 LD HL, 0300H 00 10. 0001 21 Transfer pe 16 biti
0106 | |--  nL  00 Adresare imediata
0107 |------  nH  03
0108 LD IX, 0300H 1101.1101 DD Transfer pe 16 biti
0109 | | 0010.0001 21 Adresare imediata
010A | |--  nL  00
010B |------  nH  03
010C XOR A 10 10.1 111 AF Instructiune (aritm/)
logica pe 8 biti
Adresare implicita
CONT: 010D LD A, (DE) 0001.1010 1A Transfer pe 8 biti
Adresare indirecta
010E ADC A, (HL) 10 00.1 110 8E Instr aritm. pe 8 biti
Adresare indirecta
010F DAA 0010.0111 27 Instr aritm. gen.pe 8 biti
Adresare implicita
0110 LD (IX+02), A 1101.1101 DD Transfer pe 8 biti
0111 | 0111. 0111 77 Adresare indexata cu
deplasament
0112 | --  d  02
0113 INC DE 00 01. 0011 13 Instr aritm. pe 16 biti
Adresare implicita
0114 INC HL 00 10. 0011 23 Instr aritm. pe 16 biti
Adresare implicita
0115 INC IX 1101.1101 DD Instr aritm. pe 16 biti
0116 0010.0011 23 Adresare implicita
0117 DJNZ d 0001.0000 10 Salt rel. conditionat
0118 | --  d=?  d=F4 Adresare relativa
PC  0119 HALT 0111.0110 76 Oprire UCP

d != -07 !!!!
d = -1210 = -0CH = (-0C)C2 = !(0C)+1 =
= !(0000.1100) + 1 = 1111.0011 + 1 = 1111.0100 = F4H