cp/m Posted May 21, 2010 Report Posted May 21, 2010 (edited) Hello,M-am jucat putin cu portile logice si am facut un calculator care aduna/scade toate numerele intregi de la 0 la 1. Ma gandeam ca ar putea interesa pe cineva...Nu am citit nicio carte despre crearea microprocesoare si ce prezint eu aici este pur ce mi-a venit mie in cap pe WC. Probabil ca exista si variante mai eficiente, etc.--------------Opcode-uri:01-sub n1,n211-add n1,n210-out pinpin=11,10,01--------------AddTabela XOR0 0 0 1 0 10 1 1 1 1 0Tabela AND0 0 00 1 01 0 01 1 1Cazurile adunarii sunt://si 0+0=0 insa ala merge oricum.0+1=11+0=11+1=10Observam ca rezolva 2 din 3 cazuri ale adunarii: cele care nu trec peste ordin.Pentru a 3-lea caz( 1+1 =10), xor-ul scoate prima cifra, iar a doua o facem cu un and. Aici este simulat: The Logic Lab: simulating simple circuits of logic gates--------------Sub Tabela NOT1 00 1Cazurile scaderii:1-0=10-1=1 (pornim flagul de negativ)0-0=0Observam ca scaderea este fix xor, insa trebuie sa facem ceva cu care sa aflam daca nr este negativ sau nu. Cazul negativ este 0-1=-1, deci noram 0 si ne da 1, apoi facem un and cu al doilea nr, si da 1. Asta e flagul pt negativ.Simulare:The Logic Lab: simulating simple circuits of logic gates--------------PiniAvem 3 pini. Argumentele sunt 11, 01 si 10:-Pentru 11 folosim un AND-Pentru 01 si 10 folosim NOT si AND.--------------Aici este proiectul complet.http://falsemail.lx.ro/director/rstcpu.cmlToate cele bune,cp/m Edited May 21, 2010 by cp/m Quote
phantomas90 Posted May 21, 2010 Report Posted May 21, 2010 interesant...vre-un cod de listening de la componente externe..ma refere la a conecta alte dispozitive la PC(ex: intrerupatoarele de curent) si sa le dai comenzi folosind porturile usb...mov ax, 1234out 199, axmov ax, -5678out 199, ax; Eternal loop to write; values to port:mov ax, 0x1: out 199, ax inc axjmp x1hltceva de genu...e luat din niste exemple de la emulator8086..dar e numai simulator.Any Ideea? Quote
cp/m Posted May 21, 2010 Author Report Posted May 21, 2010 (edited) Pai ca sa citesti, iti trebuie input si jumpuri etc. Mai sunt multe de imbunatatit, acum am inceput sa mai citesc pe Wikipedia.Iar portul USB e cel mai greu port care il puteai alege, pana si IR mi se pare mai usor. Eventual sa scriu un program care controleaza 2 din cele 3 leduri de la tastatura si cu ala sa "programez" calculatorul. Iar ca output sa folosim keyboard-u. Edited May 21, 2010 by cp/m Quote
Xander Posted May 22, 2010 Report Posted May 22, 2010 (edited) sti ce mi se pare funny? 1+1= 2 porti logice1+1+1+1+1+1+1+1 = 28 de porti logice (atat mi-a iesit mie... dar e posibil sa mearga si cu mai putin)The Logic Lab: simulating simple circuits of logic gatesp.s.:http://www.neuroproductions.be/logic-lab/index.php?id=1370 trafic normal versus ddos (primu e normal, al doilea ddos, 3 e provideru ) Edited May 22, 2010 by Xander Quote
Fitty Posted May 22, 2010 Report Posted May 22, 2010 Super tare logic lab-ul asta, mi-ai dat de lucru Quote