Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Articol nou : Introducere in asamblare  (Citit de 7763 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
Chris
Vizitator
« : Aprilie 30, 2005, 21:09:43 »

Hi!  Very Happy
   Ce ziceti de un articol despre programarea in limbaj de asamblare ?
Ma gandesc sa explic umpic cum "lucreaza" microprocesorul (registri, flaguri, acces la memorie), cateva instructiuni 80x86, transcrierea structurilor de baza din C/Pascal in asamblare si eventual unul-doua programe demonstrative + mici optimizari (si compararea timpilor de executie: pure C/Pascal vs ASM!).
   Dupa parerea mea ar fi un articol util, ar face sa inteleaga pe cei care nu stiu asm ce se ascunde sub liniile de cod C/Pascal si sa le optimizeze - in unele concursuri chiar daca nu ai complexitatea optima poti scoate un punctaj frumos cu asamblarea rescriind in asm o functie care se executa de multe ori!
Memorat
wickedman
Echipa infoarena
Nu mai tace
*****

Karma: 227
Deconectat Deconectat

Mesaje: 670



Vezi Profilul WWW
« Răspunde #1 : Aprilie 30, 2005, 21:20:27 »

Da!
Ar fi interesant.
Spune-mi te rog care e userId-ul tău ca să-ţi setez permisiunile necesare.
Memorat
Chris
Vizitator
« Răspunde #2 : Aprilie 30, 2005, 22:08:58 »

Wow! Ce rapid mi-ai raspuns   Very Happy
  Id-ul meu pe devnet e : chris_11
Memorat
wickedman
Echipa infoarena
Nu mai tace
*****

Karma: 227
Deconectat Deconectat

Mesaje: 670



Vezi Profilul WWW
« Răspunde #3 : Mai 01, 2005, 08:46:18 »

Ai capatat permisiuni sa propui articole. (Sectiunea Articole > Scrie un nou articol). Daca ai nevoie de ajutor, baga intrebari aici.

Cand credem cu totii ca e gata il publicam.

Have fun!
Memorat
Chris
Vizitator
« Răspunde #4 : Mai 01, 2005, 12:13:37 »

1) Cum inserez imagini in articol ? Am folosit buttonul ala de insert image si trimit calea catre imagine (calea de pe calculatorul meu), dar daca dau imprima articol nu mi-o afiseaza.
2) Exista vreo limita la dimensiunea articolului ?
Memorat
wickedman
Echipa infoarena
Nu mai tace
*****

Karma: 227
Deconectat Deconectat

Mesaje: 670



Vezi Profilul WWW
« Răspunde #5 : Mai 01, 2005, 14:33:33 »

Sorry!
Am uitat sa-ti zic ca aici http://info.devnet.ro/forum/viewtopic.php?t=144 gasesti un FAQ pentru propunatorii de articole.
Memorat
valar2006
Vizitator
« Răspunde #6 : August 12, 2005, 22:53:30 »

*cenzurat*
« Ultima modificare: Mai 06, 2006, 18:45:15 de către domino » Memorat
cristi8
Vizitator
« Răspunde #7 : Septembrie 08, 2005, 11:06:13 »

..cand e gata articolul ?
Memorat
Chris
Vizitator
« Răspunde #8 : Septembrie 08, 2005, 13:06:30 »

Buna intrebare Smile))

E aproape gata, mai trebuie inserata o imagine. Smile
Memorat
vladcyb1
Vorbaret
****

Karma: 33
Deconectat Deconectat

Mesaje: 166



Vezi Profilul
« Răspunde #9 : Septembrie 09, 2005, 09:48:04 »

Acum am inteles si eu ce asamblarea asta, dar parca este interzisa la concursuri,nu? Adica daca imi aduc aminte pe la USACO cand am citit regulile  parca scria ceva de asamblare, cred ca o interziceau Think . De exemplu la ONI daca te prinde cu asa ceva nu te descalifica sau ceva de genul?
Memorat

Vlad Berteanu
Chris
Vizitator
« Răspunde #10 : Septembrie 09, 2005, 10:35:05 »

Sa-l citez pe Silviu ...
Citat
Multe concursuri importante (IOI, CEOI, etc) prevad in regulament faptul ca este interzisa utilizarea limbajului de ansamblare. Articolul e bun in ideea de cultura generala si nu ca modalitate de optimizare in concursuri.
Memorat
cristi8
Vizitator
« Răspunde #11 : Septembrie 09, 2005, 12:18:21 »

chiar.. de ce interzic in concursuri asa ceva Question
Memorat
silviug
Echipa infoarena
Nu mai tace
*****

Karma: 193
Deconectat Deconectat

Mesaje: 485



Vezi Profilul
« Răspunde #12 : Mai 06, 2006, 13:37:51 »

Nu stiu exact.. pot emite niste ipoteze:

1. Nu stie toata lumea ASM si nu ar fi fair-play; Olimpiadele urmaresc mai ales designul la nivel de algoritmi si mai putin la nivel de optimizare de cod;

2. (Probabil) ai avea mai multe posibilitati sa faci prostii cu codul tau fara sa fii prins. Stiu putin ASM (nici nu stiu daca pot scrie un bubble sort Very Happy) dar imi imaginez ca poti face chestii relativ dubioase si destul de mascate pentru un evaluator automat.

Silviu
Memorat

"Don't gain the world and lose your soul, wisdom is better than silver or gold." [Bob Marley - Jamaican reggae musician & singer (1945 - 1981)]
greco
Nu mai tace
*****

Karma: 144
Deconectat Deconectat

Mesaje: 434



Vezi Profilul
« Răspunde #13 : Mai 06, 2006, 14:41:22 »

1. Olimpiada de informatica este (desi lumea nu realizeaza prea bine lucrul asta) un concurs de algoritmi, nu de programare. Trebuie incurajata cat mai mult gandirea, nu implementarea.
2. O persoana foloseste ASM => algoritmii ne-optimi ruleaza mult mai rapid si se incadreaza in timp => limitele de timp sunt scazute pentru ca se se evite aceasta situatie => toata lumea e obligata sa invete ASM => ne indepartam si mai mult de semnificatia olimpiadei de Informatica (repet, nu de programare, ci de Informatica = Computer Science).
Memorat

Jump in the cockpit and start up the engines
Remove all the wheelblocks there's no time to waste
Gathering speed as we head down the runway
Gotta get airborne before it's too late.
silviug
Echipa infoarena
Nu mai tace
*****

Karma: 193
Deconectat Deconectat

Mesaje: 485



Vezi Profilul
« Răspunde #14 : Mai 07, 2006, 22:33:42 »

Computer Science nu inseamna doar "Informatica" (aka Algoritmi). E drept, include si domeniul acesta dar la fel de bine putem pune si Limbajele de programare si compilatoarele in CS. Asta, asa, ca o observatie offtopic Smile

Silviu
Memorat

"Don't gain the world and lose your soul, wisdom is better than silver or gold." [Bob Marley - Jamaican reggae musician & singer (1945 - 1981)]
toni2007
Nu mai tace
*****

Karma: 160
Deconectat Deconectat

Mesaje: 663



Vezi Profilul
« Răspunde #15 : Iunie 10, 2008, 12:55:43 »

Am si eu o intrebare Smile

cum poti face sa citesti din fisiere in limbajul  assembler? sau o transcriere pentru a+b:

Cod:
#include <stdio.h>
main(){
    int a,b;
    freopen("adunare.in","r",stdin);
    freopen("adunare.out","w",stdout);
    scanf("%d%d",&a,&b);
    printf("%d",a+b);
}
« Ultima modificare: August 05, 2008, 22:37:20 de către Pripoae Teodor Anton » Memorat
Marius
Nu mai tace
*****

Karma: 154
Deconectat Deconectat

Mesaje: 572



Vezi Profilul
« Răspunde #16 : Decembrie 21, 2008, 14:24:58 »

Am si eu o intrebare Smile

cum poti face sa citesti din fisiere in limbajul  assembler? sau o transcriere pentru a+b:

Cod:
#include <stdio.h>
main(){
    int a,b;
    freopen("adunare.in","r",stdin);
    freopen("adunare.out","w",stdout);
    scanf("%d%d",&a,&b);
    printf("%d",a+b);
}

Destul de greu. Pentru a afisa a + b trebuie sa afisezi cifra cu cifra numarul, pentru ca nu poti decat sa afisezi caractere prin codul lor ASCII. La citire vei scrie un program la fel de lung ca programul tau care rezolva problema. Smile
Memorat

Faceti lucrurile simplu: pe cat de simplu posibil, dar nu mai simplu.
stef2n
Nu mai tace
*****

Karma: 218
Deconectat Deconectat

Mesaje: 641



Vezi Profilul
« Răspunde #17 : Februarie 20, 2009, 01:53:53 »

Discutiile pot continua in topicul destinat acestui articol: http://infoarena.ro/forum/index.php?topic=3676.0
Memorat

Exista 10 categorii de oameni: cei care inteleg sistemul binar si cei care nu il inteleg.
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines