Inregistreaza | Ai uitat parola?

Lucrare de laborator VIII

Numar pagini 15
Nume Lucrare de laborator VIII
Subiect Arhitectura calculatoarelor
Institutie Universitate
Universitate Facultatea de Automatica, Calculatoare, Electronica
Pret 50 puncte
Evaluarea calitatii 0 / 0 (100%)
Adaugat 07-05-2009
Adaugat de dktf0406
Descarcat 10
Marimea fisierului 0 KB
Formatul fisierului pdf
Cuvinte cheie adunare , scadere , numere , format bsd , excess 3 , exercitii , probleme
Format: pdf
Pret: 50 puncte
Descrierea materialului:
A.Adunarea numerelor în format BCD
B.Scaderea numerelor în format BCD
C.Adunarea numerelor în format Excess 3
Exercitii si probleme
Extras din material:
 
  
  


A.Adunarea numerelor ?n format BCD

Numerele ?n format BCD sunt reprezentate ?n calculator sub dou
forme: compactat i necompactat. ?n forma compactat ?ntr-un octet
sunt reprezentate dou cifre. ?n prima jumtate a octetului o cifr. ?n a
doua jumtate a doua cifr. Formatul necompactat foloseste o locaie de
memorie pentru a stoca o cifr.
Principiul adunrii a dou numere ?n cod BCD a fost explicat ?n
laboratoarele precedente. Adunarea se face la fel ca o adunare binar.
Dac o cifr este mai mare de 9 atunci se aplic o corecie prin adugarea
cifrei 6. Dac exist transport se adun la cifra urmtoare.
Programul urmtor exemplific adunarea a dou numere BCD
reprezentate ?n format compactat.
Nota – Programulul prezentat nu face adunarea dec?t pe 2 cifre. ?n
cazul apariiei transportului acesta se pierde.
Algoritmul ?n pseudocod:

Begin
* Se ?ncarc ?n regitrii cu datele necesare – mti, numere pentru
corecie i comparri pentru corecie
* Se ?ncarc termenii adunrii
* Se adun cei doi termeni iar rezultatul se aeaz ?n R1
* Se mascheaz prima parte a rezultatului i se aeaz ?n R0
* IF 0x0A <=R0 THEN * se aplic o corecie prin adunarea 0x06
* Se mascheaz a doua parte a rezultatului i se aeaz ?n R0
* IF 0xA0 <=R0 THEN * se aplic o corecie prin adunarea 0x60
End

load R1,[termen1]
load R2,[termen2]
load R5,0x06
load R6,0x60
load R7,0x0F
load R8,0xF0
load R9,0x0A
load RA,0xA0
addi R1,R1,R2
and R0,R1,R7
jmpLE R9<=R0,C1
jmp nextDigit1
C1:
 
  
addi R1,R1,R5
nextDigit1:
and R0,R1,R8
jmpLE RA<=R0,C2
jmp stop
C2:
addi R1,R1,R6
stop:halt
termen1: db 0x11
termen2: db 0x09


Pasul 1-Se ?ncarc matile i numerele pentru corecie

R0: 0000 0000 0x00
R1: 0001 0001 0x11 – primul termen al adunrii
R2: 0000 1001 0x09 – al doilea termen al adunrii
R5: 0000 0110 0x06 – numr folosit la corecia primei cifre
R6: 0110 0000 0x60 – numr folosit la corecia celei de a doua cifre
R7: 0000 1111 0x0F - masc pentru evidenierea primei cifre
R8: 1111 0000 0xF0 - masc pentru evidenierea a doua
cifre
R9: 0000 1010 0x0A - numr folosit la detecia necesitii coreciei
primei cifre
RA: 1010 0000 0xA0 numr folosit la detecia necesitii coreciei
celei de a doua cifre

Pasul 2-Se adun cele dou numere, iar rezultatul se plaseaz ?n R1

R0: 0000 0000 0x00
R1: 0001 1010 0x1A –rezultatul necorectat al adunrii
R2: 0000 1001 0x09 – al doilea termen al adunrii
R5: 0000 0110 0x06 – numr folosit la corecia primei cifre
R6: 0110 0000 0x60 – numr folosit la corecia celei de a doua cifre
R7: 0000 1111 0x0F - masc pentru evidenierea primei cifre
R8: 1111 0000 0xF0 - masc pentru evidenierea a doua
cifre
R9: 0000 1010 0x0A - numr folosit la detecia necesitii coreciei
primei cifre
RA: 1010 0000 0xA0 numr folosit la detecia necesitii coreciei
celei de a doua cifre

 
  
Pasul 3-Se mascheaz prima jumtate iar rezultatul se plaseaz ?n
registrul R0. Dac cifra este mai mare sau egal dec?t 0x0A se aplic
corecie prin adunarea 0x06

R0: 0000 1010 0x0A – rezltatul mascrii
R1: 0010 0000 0x20 – rezultatul cu prima cifr corectat al adunrii
R2: 0000 1001 0x09 – al doilea termen al adunrii
R5: 0000 0110 0x06 – numr folosit la corecia primei cifre
R6: 0110 0000 0x60 – numr folosit la...


Materiale similare

Nume: Lucrare de laborator II
Extras din material: ...100 XOR 00101101 8. S? presupunem c? vre?i s? izola?i cei mai semnificativi trei bi?i dintr-un ?ir de ?apte bi?i plas?nd 0 pe pozi?iile celorlal?i patru bi?i, f?r? a afecta valorile celor trei bi?i specifica?i. Ce masc? ?i ce opera?ie va trebui s? utiliza?i pentru a face acest lucru? Da?i exemplu. PDF created with pdfFactory Pro trial version www.pdffactory.com 9. S? presupunem c? vre?i s? nega?i cei trei bi?i din centrul unui ?ir de ?apte bi?i l?s?nd ceilal?i patru bi?i nemodifi...
Nume: Lucrare de laborator VI
Extras din material: ...esa 0Ah a fost ?ndeplinit. ?n urmtoarea parte se prezint felul ?n care sunt reprezentate ?n memorie caracterle care vor fi afiate pe ecran. Se observ ca ?n fiecare celula de memorie este scrisa reprezentarea ?n hexadecimal a codului ASCII corespunztor fiecrui caracter. 10: 0A 11: 48 H 12: 65 e 13: 6C l 14: 6C l 15: 6F o 16: 20 17: 77 w ...
Nume: Lucrare de laborator I
Extras din material: ... sale ?n 1. Se observ c pe ieirea Q a circuitului s-a obinut valoarea 1, indiferent de starea sa anterioar. ?n aceast situaie ieirea Q a circuitului este chiar valoarea intrrii D, adic 1, iar pe ieirea Q este valoarea negat a intrrii D. Dac intrarea D a circuitului devine 1, H rm?n?nd nemodificat ?n 1, circuitului se comport ca ?n figura de mai jos: 11 Poarta AND1 are ca intrri valoarea negat a lui D (adic 1) i valoarea lui H, care a rmas nemodificat...
Nume: Lucrare de laborator V
Extras din material: ...piaza contnutul registrului 2 ?n registrul 1 ?n cod hexdecimal exemplu va arta astfel: 40 12 move(40) R1(1),R2(2) Sau ?n binar: 0100 0000 0001 0010 jmpEQ - salt daca egal – salt daca coninutul registrului reg este egal cu cel al registrului R0 Are mnemonicul jmpEQ, op-codul-ul B i formatul jmpEQ reg=R0 adresa_destinatie, sau jmpEQ reg=R0 eticheta_salt. Exemplu: jmpEQ R0=R1 0xAA - ?ncarc ?n PC instructiunea de la adresa AA(16) jmpEQ R0=R1 salt - ?ncarc...
Nume: Lucrare de laborator IV
Extras din material: ... Dac? m = 4 se poate construi un cod Hamming pe 7 bi?i (n = 7), ad?ug?nd 3 bi?i de control (k = 3). 7 6 5 4 3 2 1 m4 m3 m2 k3 m1 k2 k1 Cei trei bi?i de control sunt plasa?i pe pozi?ia puterilor lui 2: k1 ? 1; k2 ? 2; k3 ? 4. Vom vedea acum, pentru fiecare bit al mesajului care sunt bi?ii de control care permit verificarea parit??ii sale: 7 = (0111)2 = 4 + 2 + 1 ? 7 este controlat de k3, k2, k1; 6 = (0110)2 = 4 + 2 ? 6 este controlat de k3, k2; 5 = (0101)2 =...
Nume: Curs III
Extras din material: ...are utilizeaz? nota?ia ?n complement fa?? de doi trebuie s? ?tie numai s? efectueze adunarea ?i negarea bi?ilor. De exemplu, opera?ia de sc?dere 7- 5 este identic? cu problema de adunare 7 + (-5). ?n consecin??, dac? i se cere unui calculator s? scad? 5 (stocat sub forma 0101) din 7 (stocat ca 0111), acesta va schimba mai ?nt?i pe 5 ?n –5 (reprezentat ca 1011) ?i apoi va efectua adunarea 0111 + 1011, ob?in?nd rezultatul 0010, care reprezint? valoarea 2, dup? cum este descris ?n contin...
Toate materialele similare



Comentarii asupra materialului "Lucrare de laborator VIII"

Nimeni nu a verificat inca acest material. Fi primul care isi publica opinia



Publica-ti opinia

Logheaza-te pentru a posta un comentariu