5,476 matches
-
specificat printr-un câmp de adresă de 8 biți, prin acest mod de adresare se poate accesa atât memoria RAM internă 00-7Fh, cât și zona SFR (80-FFh). ex: MOV A, direct - conținutul memoriei interne de la adresa direct este transferat în acumulator. ADD A, direct - adună conținutul memoriei interne de la adresa direct cu acumulatorul. Instrucțiunea specifică un registru care conține adresa operandului. Prin acest mod de adresare poate fi accesat atât memoria de date internă cât și cea externă, astfel: - adresare pe
Intel MCS-51 () [Corola-website/Science/320976_a_322305]
-
de adresare se poate accesa atât memoria RAM internă 00-7Fh, cât și zona SFR (80-FFh). ex: MOV A, direct - conținutul memoriei interne de la adresa direct este transferat în acumulator. ADD A, direct - adună conținutul memoriei interne de la adresa direct cu acumulatorul. Instrucțiunea specifică un registru care conține adresa operandului. Prin acest mod de adresare poate fi accesat atât memoria de date internă cât și cea externă, astfel: - adresare pe 8 biți cu ajutorul registrelor R0 și R1 sau al pointerului de stivă
Intel MCS-51 () [Corola-website/Science/320976_a_322305]
-
de date internă cât și cea externă, astfel: - adresare pe 8 biți cu ajutorul registrelor R0 și R1 sau al pointerului de stivă ex: MOV A,@R0 - conținutul locației de memorie internă de la adresa dată de registrul R0 este transferată în acumulator - adresare pe 16 biți utilizând registrul DPTR ex: MOVX A,@DPTR - conținutul locației de memorie de date externă de la adresa din registrul DPTR este transferată în acumulator Anumite instrucțiuni specifică anumite registre. De exemplu, anumite instrucțiuni operează cu acumulatorul sau
Intel MCS-51 () [Corola-website/Science/320976_a_322305]
-
locației de memorie internă de la adresa dată de registrul R0 este transferată în acumulator - adresare pe 16 biți utilizând registrul DPTR ex: MOVX A,@DPTR - conținutul locației de memorie de date externă de la adresa din registrul DPTR este transferată în acumulator Anumite instrucțiuni specifică anumite registre. De exemplu, anumite instrucțiuni operează cu acumulatorul sau DPTR, deci nu este nevoie de o adresa pentru a le accesa. Opcod-ul instrucțiunii conține toate informațiile necesare. ex: MOV A, #100 - acumulatorul este încărcat cu constanta
Intel MCS-51 () [Corola-website/Science/320976_a_322305]
-
în acumulator - adresare pe 16 biți utilizând registrul DPTR ex: MOVX A,@DPTR - conținutul locației de memorie de date externă de la adresa din registrul DPTR este transferată în acumulator Anumite instrucțiuni specifică anumite registre. De exemplu, anumite instrucțiuni operează cu acumulatorul sau DPTR, deci nu este nevoie de o adresa pentru a le accesa. Opcod-ul instrucțiunii conține toate informațiile necesare. ex: MOV A, #100 - acumulatorul este încărcat cu constanta 100; MOV DPTR, #0A43h. SETB C - Bitul de carry devine 1 SETB
Intel MCS-51 () [Corola-website/Science/320976_a_322305]
-
DPTR este transferată în acumulator Anumite instrucțiuni specifică anumite registre. De exemplu, anumite instrucțiuni operează cu acumulatorul sau DPTR, deci nu este nevoie de o adresa pentru a le accesa. Opcod-ul instrucțiunii conține toate informațiile necesare. ex: MOV A, #100 - acumulatorul este încărcat cu constanta 100; MOV DPTR, #0A43h. SETB C - Bitul de carry devine 1 SETB P1.3 - Bitul 3 al portului P1 devine 1. Numai memoria program poate fi accesată astfel. Acest mod de adresare este folosit pentru a
Intel MCS-51 () [Corola-website/Science/320976_a_322305]
-
astfel. Acest mod de adresare este folosit pentru a citi tabele memorate în memoria program. Registrul de bază pe 16 biți care reprezintă adresa de început al tabelului, poate fi registrul DPTR sau PC, iar ca registru deplasament este folosit acumulatorul. Adresa unui element din tabel accesat la un moment dat, se calculează astfel: DPTR (PC) +Acc. ex: MOVC A,@ A+PC Tot adresare indexată este utilizată și în cazul instrucțiunilor de salt. În acest caz, adresa de destinație a instrucțiunii
Intel MCS-51 () [Corola-website/Science/320976_a_322305]
-
ex: MOVC A,@ A+PC Tot adresare indexată este utilizată și în cazul instrucțiunilor de salt. În acest caz, adresa de destinație a instrucțiunii de salt este calculată ca suma dintre o adresă de bază și o valoare încărcată în acumulator. (salt relativ). ex: SJMP rel Majoritatea operațiilor permit orice mod de adresare pentru sursă sau destinație, spre exemplu, MOV 020h,03fh va copia valoare din locația de memorie intern RAM 0x3f în locația de memorie 0x20, aflată de asemenea în
Intel MCS-51 () [Corola-website/Science/320976_a_322305]
-
al aplicației la schimbări și o dimensiune redusă a codului utilizatorului. ex: JB bit ,rel - salt relativ dacă bit este 1; ANL C, bit - SI logic între Carry și bit; SETB bit - setează direct bit; Deoarece 8051 are o arhitectură acumulator, toate operațiile aritmetice trebuie să folosească acumulatorul, ex: ADD A, 020h va adăuga valoarea din locația de memorie internă RAM 0x20 în acumulator. Pentru a programa 8051, nu este nevoie să se stăpânească aceste instrucțiuni. Având disponibile compilatoare de C
Intel MCS-51 () [Corola-website/Science/320976_a_322305]
-
redusă a codului utilizatorului. ex: JB bit ,rel - salt relativ dacă bit este 1; ANL C, bit - SI logic între Carry și bit; SETB bit - setează direct bit; Deoarece 8051 are o arhitectură acumulator, toate operațiile aritmetice trebuie să folosească acumulatorul, ex: ADD A, 020h va adăuga valoarea din locația de memorie internă RAM 0x20 în acumulator. Pentru a programa 8051, nu este nevoie să se stăpânească aceste instrucțiuni. Având disponibile compilatoare de C de bună calitate, inclusiv SDCC open-source, practic
Intel MCS-51 () [Corola-website/Science/320976_a_322305]
-
bit - SI logic între Carry și bit; SETB bit - setează direct bit; Deoarece 8051 are o arhitectură acumulator, toate operațiile aritmetice trebuie să folosească acumulatorul, ex: ADD A, 020h va adăuga valoarea din locația de memorie internă RAM 0x20 în acumulator. Pentru a programa 8051, nu este nevoie să se stăpânească aceste instrucțiuni. Având disponibile compilatoare de C de bună calitate, inclusiv SDCC open-source, practic toate programele pot fi scrise într-un limbaj de nivel înalt. Predecesorul 8051, 8048, a fost
Intel MCS-51 () [Corola-website/Science/320976_a_322305]
-
fost construită cu pentode EF50, folosite pe scară largă în timpul războiului. SSEM folosea un tub Williams pentru a obține un spațiu de memorie cu acces aleator de 32 de cuvinte de 32 de biți, un al doilea pentru un registru acumulator pe 32 de biți, în care se stocau temporar rezultatele intermediare ale unui calcul, și un al treilea pentru a stoca instrucțiunea curentă împreună cu adresa sa de memorie. Un al patrulea tub catodic, lipsit de electronica de stocare a datelor
Manchester Small-Scale Experimental Machine () [Corola-website/Science/315413_a_316742]
-
instrucțiune. Într-o instrucțiune, biții 0-12 reprezentau adresa de memorie a operandului, iar biții 13-15 reprezentau codul operației; restul de 24 biți erau nefolosiți. Arhitectura cu un singur operand însemna că al doilea operand implicit al fiecărei instrucțiuni era în acumulator; instrucțiunile programului specificau doar adresa datelor din memorie. Un cuvânt din memoria calculatorului putea fi scris, citit sau reîmprospătat în 360 microsecunde. Execuția unei instrucțiuni dura de patru ori mai mult decât accesarea unui cuvânt din memorie, ceea ce dădea o
Manchester Small-Scale Experimental Machine () [Corola-website/Science/315413_a_316742]
-
John Mauchly și J. Presper Eckert de la Universitatea Pennsylvania. Echipa de ingineri proiectanți era formată, printre alții, de Bob Shaw (tablouri funcționale), Chuan Chu (împărțire/rădăcină pătrată), Kite Sharpless (programator principal), Arthur Burks (înmulțire), Harry Huskey (citire/imprimare), Jack Davis (acumulatori) și Iredell Eachus Jr. ENIAC era un calculator modular, compus din panouri separate care efectuau diferite funcții. Douăzeci de astfel de module reprezentau acumulatorii, pe care se puteau efectua adunări și scăderi și care puteau stoca un număr de zece
ENIAC () [Corola-website/Science/315414_a_316743]
-
împărțire/rădăcină pătrată), Kite Sharpless (programator principal), Arthur Burks (înmulțire), Harry Huskey (citire/imprimare), Jack Davis (acumulatori) și Iredell Eachus Jr. ENIAC era un calculator modular, compus din panouri separate care efectuau diferite funcții. Douăzeci de astfel de module reprezentau acumulatorii, pe care se puteau efectua adunări și scăderi și care puteau stoca un număr de zece cifre zecimale. Între aceste unități, numerele erau transfrate prin mai multe magistrale generice. Pentru a funcționa la viteză mare, panourile trebuia să trimită și
ENIAC () [Corola-website/Science/315414_a_316743]
-
de impulsuri de transport în cazul în care numărătorul aflat la valoarea maximă era incrementat și se reseta la 0, ideea fiind cea de a emula prin electronică funcționarea roților cu numere ale unui sumator mecanic. ENIAC avea douăzeci de acumulatori pe zece cifre cu semn care utilizau reprezentarea în complement față de zece și puteau efectua 5000 de adunări sau scăderi simple între oricare dintre ele și sursă (de exemplu, un alt acumulator, sau o constantă) pe secundă. Se puteau conecta
ENIAC () [Corola-website/Science/315414_a_316743]
-
ale unui sumator mecanic. ENIAC avea douăzeci de acumulatori pe zece cifre cu semn care utilizau reprezentarea în complement față de zece și puteau efectua 5000 de adunări sau scăderi simple între oricare dintre ele și sursă (de exemplu, un alt acumulator, sau o constantă) pe secundă. Se puteau conecta mai mulți acumulatori simultan, astfel că viteza maximă de funcționare putea fi mai mare datorită funcționării în paralel. Se putea cabla transportul unui acumulator la un alt acumulator pentru a efectua calcule
ENIAC () [Corola-website/Science/315414_a_316743]
-
cifre cu semn care utilizau reprezentarea în complement față de zece și puteau efectua 5000 de adunări sau scăderi simple între oricare dintre ele și sursă (de exemplu, un alt acumulator, sau o constantă) pe secundă. Se puteau conecta mai mulți acumulatori simultan, astfel că viteza maximă de funcționare putea fi mai mare datorită funcționării în paralel. Se putea cabla transportul unui acumulator la un alt acumulator pentru a efectua calcule cu dublă precizie, dar limitările circuitului de sincronizare al transportului împiedica
ENIAC () [Corola-website/Science/315414_a_316743]
-
dintre ele și sursă (de exemplu, un alt acumulator, sau o constantă) pe secundă. Se puteau conecta mai mulți acumulatori simultan, astfel că viteza maximă de funcționare putea fi mai mare datorită funcționării în paralel. Se putea cabla transportul unui acumulator la un alt acumulator pentru a efectua calcule cu dublă precizie, dar limitările circuitului de sincronizare al transportului împiedica legarea mai multor acumulatori pentru mai multă precizie. ENIAC utiliza patru acumulatori controlați de o unitate specială de înmulțire, pentru a
ENIAC () [Corola-website/Science/315414_a_316743]
-
de exemplu, un alt acumulator, sau o constantă) pe secundă. Se puteau conecta mai mulți acumulatori simultan, astfel că viteza maximă de funcționare putea fi mai mare datorită funcționării în paralel. Se putea cabla transportul unui acumulator la un alt acumulator pentru a efectua calcule cu dublă precizie, dar limitările circuitului de sincronizare al transportului împiedica legarea mai multor acumulatori pentru mai multă precizie. ENIAC utiliza patru acumulatori controlați de o unitate specială de înmulțire, pentru a efectua 385 de înmulțiri
ENIAC () [Corola-website/Science/315414_a_316743]
-
viteza maximă de funcționare putea fi mai mare datorită funcționării în paralel. Se putea cabla transportul unui acumulator la un alt acumulator pentru a efectua calcule cu dublă precizie, dar limitările circuitului de sincronizare al transportului împiedica legarea mai multor acumulatori pentru mai multă precizie. ENIAC utiliza patru acumulatori controlați de o unitate specială de înmulțire, pentru a efectua 385 de înmulțiri pe secundă; de asemenea, folosea cinci acumulatori, controlați de o unitate de împărțire și extragere de radicali, pentru a
ENIAC () [Corola-website/Science/315414_a_316743]
-
datorită funcționării în paralel. Se putea cabla transportul unui acumulator la un alt acumulator pentru a efectua calcule cu dublă precizie, dar limitările circuitului de sincronizare al transportului împiedica legarea mai multor acumulatori pentru mai multă precizie. ENIAC utiliza patru acumulatori controlați de o unitate specială de înmulțire, pentru a efectua 385 de înmulțiri pe secundă; de asemenea, folosea cinci acumulatori, controlați de o unitate de împărțire și extragere de radicali, pentru a efectua până la patruzeci de împărțiri pe secundă sau
ENIAC () [Corola-website/Science/315414_a_316743]
-
precizie, dar limitările circuitului de sincronizare al transportului împiedica legarea mai multor acumulatori pentru mai multă precizie. ENIAC utiliza patru acumulatori controlați de o unitate specială de înmulțire, pentru a efectua 385 de înmulțiri pe secundă; de asemenea, folosea cinci acumulatori, controlați de o unitate de împărțire și extragere de radicali, pentru a efectua până la patruzeci de împărțiri pe secundă sau trei extrageri de radicali pe secundă. Celelalte nouă unități ale ENIAC erau "Unitatea de integrare" (care pornea și oprea mașina
ENIAC () [Corola-website/Science/315414_a_316743]
-
Wilkes 1956:20 arată că o împărțire cu un cât de 10 cifre dura 6 milisecunde.) Dacă rezultatul avea mai puțin de zece cifre, se obținea mai repede. ENIAC utiliza tuburi radio cu opt pini folosite la acea vreme; registrele acumulatoare erau compuse din bistabili 6SN7, iar în implementarea funcțiilor logice se foloseau bistabili 6L7, 6SJ7, 6SA7 și 6AC7. Numeroase tuburi 6L6 și 6V6 controlau liniile electrice, trimițând impulsuri între diversele carcase. Unii experți în electronică au prezis că defectările tuburilor
ENIAC () [Corola-website/Science/315414_a_316743]
-
Richard Clippinger de la BRL. Dick Clippinger s-a consultat cu John von Neumann asupra setului de instrucțiuni. Clippinger gândea o arhitectură cu 3 adrese în vreme ce von Neumann o arhitectură cu o adresă, mai simplu de implementat. Trei cifre ale unui acumulator (6) erau utilizate drept contor program, un alt acumulator (15)era cel principal, un al treilea (8) era utilizat ca pointer de adresă pentru citirea datelor din tablourile funcționale, și majoritatea celorlalte acumulatoare (1-5, 7, 9-14, 17-19) erau utilizate pentru
ENIAC () [Corola-website/Science/315414_a_316743]