logical

Top Page  |  Lists  |  User Login

logical
  • Andrei Gheorghe, 38
  • Bucureşti, România
  • Work: Infineon Technologies
  • School: Fac. de Electronică şi Telecomunicaţii

 

Total Page Views

201,576

RECENT COMMENTS

November 25, 2022 - 20:20

Adi

Cine mai explică acum că dacă nu egalau ecuadorienii, "olandejii" conduceau in c...

posted on “dacă nu egalau englezii, danezii ar fi condus în continuare”


June 20, 2022 - 20:18

Cătălina

Nişte angajaţi ai Urban Serv sunt foarte mândri de ei şi în ziua de astăzi pentr...

posted on mud


May 24, 2022 - 14:33

logical

există şi nişte bonus pack-uri în joc, dacă faci nişte achievementuri primeşti u...

posted on mai rapid ca rapidu


May 24, 2022 - 14:31

logical

regula de cinci secunde a devenit mult mai periculoasă de când cu pandemia... nu...

posted on curcubeie pe asfalt


May 24, 2022 - 14:27

logical

şi ca fun fact, nici măcar nu este primul chirurg din echipa Rapidului... am avu...

posted on te apără de goluri şi cardiace


May 24, 2022 - 14:25

logical

eu merg aproape sigur pe varianta b. pentru că e destul de uşor să verifici că a...

posted on achtung: se fură motoare maro cu jojă neagră


May 23, 2022 - 21:17

Specter

Am văzut şi eu trailerul mai demult. Chiar mă întrebam dacă au plătit redevenţă ...

posted on mai rapid ca rapidu


May 23, 2022 - 21:12

Specter

Toate ca toate, dar eu fără cartofi prăjiţi nu-mi fac transplant!

posted on 1+1 gratuit: Organe


May 23, 2022 - 21:09

Specter

Eh, când cei mai tineri fani ai Rapidului se apropie de 40 de ani, or fi zis şi ...

posted on te apără de goluri şi cardiace


May 23, 2022 - 21:05

Specter

Sunt două variante aici: a. Ei nici nu s-au gândit dacă o să meargă maşina aia ...

posted on achtung: se fură motoare maro cu jojă neagră


May 23, 2022 - 20:54

Specter

Oare regula de cinci secunde se aplică şi la compresor?

posted on curcubeie pe asfalt


April 2, 2022 - 13:48

logical

pare că nu...

posted on de la student la senior staff engineer


April 1, 2022 - 10:30

Adi

La multi ani? Mai primeşti ceva anul ăsta?

posted on de la student la senior staff engineer


February 22, 2022 - 12:18

Specter

Măcar nu au fost 18...

posted on i-a luminat farul


February 10, 2022 - 11:54

Specter

Scrie chiar de două ori! Oare a uitat că a scris prima oară, sau chiar l-a mai c...

posted on certitudinea marilor împliniri

   "Burn Bucharest, Burn You Fucking Maniacs" [Lake Of Tears, 11 Martie 2006]

36 - 40 of 327  First | < Prev | Next > | Last     

Remodelatorul de Molecule - Archive for 2009Full Post View

şi alte logici

“căcat”
“căcat”

Asfalt Tango

băi ce film... cum dracu de nu l-am văzut până acum... este tot ce înseamnă românia, ştoarfe şi tot ce-i mai rău în ţara asta, puse pe sticlă într-un mod absolut genial, cu un umor şi o ironie de mare clasă...

“Şi la altar, ghici ce-a zis ? Da sau Nu ? Hai, din trei încercări...”

Nae Caranfil e un mare regizor... mare mare...

“Şi mai zice lumea că stăm prost cu exportul... ia uite câte curve pleacă în franţa ...”

nota 9.25

Tags: , , , Saturday November 21, 2009 - 23:50pm (EET) Permanent Link | 1 Comment
savage assembler
savage assembler

ziceam aici că mă apuc să fac un asamblor pentru procesor... l-am făcut... :D

am lucrat cu cea mai mare plăcere la el în fiecare seară săptămâna asta... nu-mi vine să cred că totul a mers perfect... mă aşteptam la multe probleme logistice, cu noul visual c++ and all, dar nu... 70% din program este parsing şi error handling deci numai lucru cu string-uri... şi clasa string din visual c++ ăsta e perfectă... adio căcaturi de funcţii ca strcmp() sau strcpy()... vai cât mi-au mâncat zilele string-urile în c-urile vechi...

anyway, în total s-au strâns 1633 de linii de cod :D.... prezint chiar codul, că sunt prea mândru de el... şi e chiar educativ pentru altcineva care vrea să facă un asamblor pentru o altă arhitectură de microprocesor...

so... what does the bastard do ?

  • identifică linii care încep sau conţin “//” şi ignoră ce e după ele (adică comentarii) ... dacă e ceva înainte lor pe linie nu o şterge cu totul)
  • are definită o directivă “alias” prin care poţi să atribui orice nume unei componente interne sau să defineşti constante numerice (foarte util)
  • verifică dacă ai definit două alias-uri identice
  • elimină liniile goale sau care conţin doar spaţii sau tab-uri... de asemenea elimină orice caracter ilegal
  • instrucţiunile şi operanzii pot fi despărţiţi prin spaţii, tab-uri, virgule sau orice combinaţie între astea trei, fiecare în orice cantitate
  • permite folosirea unui mnemonic pentru o instrucţiune cu acelaşi rol dar cu operanzi de tipuri diferite (un fel de supraîncărcare)
  • caută toate etichetele de salt din program şi calculează adresele de salt corespunzătoare (dacă stăteam eu să fac asta manual mă dădeam cu capu de pereţi... dacă adăugam o linie mai sus trebuia să incrementez toate adresele de mai jos...)
  • verifică dacă nu există două etichete de salt definite de două ori (foarte util când iei cod cu copy-paste şi uiţi să modifici etichetele de salt... procesorul o ia razna rău de tot şi habar n-ai de ce)
  • te anunţă dacă detectează o instrucţiune necunoscută
  • verifică sintaxa pentru fiecare tip de instrucţiune în parte şi generează o eroare când sunt prea mulţi operanzi, prea puţini, când pui un registru în loc de un port sau invers, când data numerică depăşeşte 16 biţi etc
  • identifică automat dacă datele numerice sunt în zecimal sau în hex
  • la fiecare eroare îţi spune exact la ce linie este eroarea (la ce linie în fişierul original, cu spaţii şi linii goale ca să poţi să o urmăreşti în editor)
  • după ce verifică dacă toate instrucţiunile sunt valide te anunţă câte instrucţiuni a asamblat
  • apoi deschide portul COM1 pentru programare
  • trimite tot codul maşină rezultat pe RS232 către modulul de scriere în memoria de program a microprocesorului
  • descarcă memoria de date înapoi prin RS232 şi o scrie în fişierul .log (memory dump – incredibil de util)
  • notează orice pas într-un fişier log care va conţine alias-urile extrase, etichetele, instrucţiunile procesate (eventual codul de eroare) şi dump-ul de memorie...
  • makes me happy :)

deja m-am apucat de un proiect serios în care o să-l folosesc... detalii despre proiect peste câteva săptămâni când va fi gata... deocamdată prezint un fişier .asm pe care l-am asamblat şi testat şi funcţionează ireproşabil... minunat...

fişierul .asm (vai ce urât îl formatează firefox-ul... într-un editor bun se vede mai aranjat)
fişierul .log

i’m so happy right now... :D acum procesorul chiar e pus la punct... i-ar mai trebui un compilator care să transforme cod C în assembler pentru el... dar asta deja e SF... sunt multe microprocesoare serioase pe piaţă care s-au vândut mult şi bine şi n-au avut compilatoare... we’ll see... poate îi dau cuiva să facă proiect de dizertaţie la automatică un compilator... ar fi ceva...

Tags: , , Friday November 20, 2009 - 23:49pm (EET) Permanent Link | 2 Comments
post-it love :)

how sweet :)...

intrebarea laurei: oare ea ce urma sa mai deseneze ?

[also, la mulţi ani magda]

Tags: , Thursday November 19, 2009 - 23:43pm (EET) Permanent Link | 4 Comments
îmi bag pula în metrorex
îmi bag pula în metrorex

să-mi sugă pula toţi şmecherii de la metrorex care se cred ei cei mai futuţi din toată românia...

nici eu n-am primit nici o mărire de salariu anu ăsta (cu toate că o meritam legal, că doar am trecut de la tehnician la inginer) şi nu mi-a convenit dar mi-am băgat pula şi am tăcut... că ce altceva să fac... de ce sunteţi voi mai şmecheri mă jegoşilor ? doar pentru că puteţi ? să-mi sugeţi pula cu spume...

e imposibil să traversezi tot bucureştiul fără metrou... din tineretului în pipera, din pipera în politehnică şi înapoi acasă... imposibil, futu-vă morţii în cur...

sper să vă cumpăraţi sicrie din banii pe care (nu) o să-i primiţi...

Tags: , , , Wednesday November 18, 2009 - 11:38am (EET) Permanent Link | 3 Comments
la ce mai muncesc acum
la ce mai muncesc acum

uof... lucrez la un proiect în care vreau să folosesc intens microprocesorul realizat pentru licenţă...

vineri am descoperit un bug... în timpul rulării unui program mai complicat,  se bloca aleator, doar câteodată şi după perioade mari de timp de rulare... bineînţeles, un bug care apare aleator este cel mai criminal... plus că îmi venea să plâng de nervi că nu-mi mergea copilul...

am descoperit că problema dispărea dacă nu mai foloseam sistemul de întreruperi... ştiam de mult că e ceva putred pe acolo, dar credeam că rezolvasem toate problemele... totuşi, chiar ştiind ce cauzează problema n-am fost în stare să-i dau de cap aşa uşor... sistemul de întreruperi e printre cele mai complexe module din procesor şi e comandat şi comandă la rândul său toate modulele de control al execuţiei... crimă...

singura soluţie a fost să-l bag cu totul în modelsim... ceea ce nu a fost uşor că are zeci de mii de pini şi o grămadă de semnale de generat / analizat... totuşi, după muuuuuultă muncă şi analiză de semnale, am descoperit problema... o instrucţiune de salt durează doi ciclii maşină la mine... chiar şi la salturile necondiţionate, că după ce actualizezi pc-ul trebuie să mai aştepţi un ciclu până îţi vine codul instrucţiunii de la memoria de program... eu mă gândisem la toate hazardele posibile generate de o cerere de întrerupere care vine chiar în ciclul ăla maşină de înainte de salt, dar se pare că nu mi-am dat seama de unul... exista un caz în care procesorul intra în rutina de deservire a întreruperii şi băga în stivă o adresă de revenire care nu era încă disponibilă... şi asta se întâmpla foarte rar, doar când se cererea de întrerupere venea exact în al doilea ciclu maşină corespunzător unei instrucţiuni de salt... şi asta am văzut de Aici, după vreo două ore de studiat zeci de ecrane asemănătoare...

zona din schemă cu problemă e cea din poza de  sus, în care trebuia să mai adaug un fir la poarta de comandă a semnalului IRQ_EXECUTE... în poză e schema defectă...

acum mă chinui să fac un asamblor automat pentru procesor, să nu mai stau să calculez de mână coduri de instrucţiuni şi adrese că la un program mai mare devine imposibil...

so, practic eu vreau să scriu Asamblare într-un editor de text şi programul meu să scoată Cod maşină şi să-l trimită în procesor... actually, pozele astea chiar sunt pe bune, that is real assembly machine code for my baby savage, făcut manual pentru testare :D

well, good luck with that... tocmai ce-am downloadat Visual C++ 2005 Express... habar n-aveam că e free, eu lucram cu vechitura aia de VC++ 6.0 care nici n-avea clasele noi de stringuri...

Tags: , , Sunday November 15, 2009 - 22:00pm (EET) Permanent Link | 7 Comments
36 - 40 of 327  First | < Prev | Next > | Last     
SEARCH
ARCHIVE

Valid HTML 4.01 Transitional