Article View: es.comp.lenguajes
Article #158Re: Programacion con GOTO
From: David
Date: Sat, 18 Nov 2000 00:00
Date: Sat, 18 Nov 2000 00:00
63 lines
3971 bytes
3971 bytes
Hola Pedro "Pedro Maicas" <www@direccion.es> escribi� en el mensaje news:vpoa1tc0cg7go25021sfiajav8p4qa5e1v@4ax.com... > Es imposible programar en ensamblador sin usar saltos incondicionales (jmp) En absoluto. Estoy de acuerdo con que es mucho m�s f�cil encontrar saltos incondicionales en un programa en ensamblador que en uno en lenguaje de alto nivel. Pero su uso es totalmente evitable. Por ejemplo, si quieres saltar a fin_proc si el resultado de la �ltima operaci�n ha generado un acarreo y, si no, tienes que saltar a cont_proc, puedes escribir: ... jc fin_proc jmp cont_proc ... Pero esto es totalmente evitable. Lo correcto hubiera sido escribir: ... jc fin_proc jnc cont_proc ... Pero bueno, se ahorran ciclos al evaluar el flag de acarreo y tal (aunque el tiempo perdido aqu� es una minucia, comparado con otros tiempos de espera). Si vas a http://udigital.homepage.com/libro/src/dmap.html te encontrar�s con un programa en C y ensamblador (realizado por el, en mi opini�n, mejor programador en ensamblador que he conocido, Ciriaco Garc�a de Celis, Ciri para los amigos), en el que s�lo te encontrar�s con 2 jmps en la parte en ensamblador. Casualmente, estos jmps son de los que mencionaba antes como 'evitables'. Por supuesto, no te encontrar�s con ning�n goto en la parte en C :-) > Adem�s un salto condicional es 'tan goto' como como uno incondicional. �Einnn? �Norrrrrl!. Nabsoluto. �Tas de co�a? Con eso me est�s diciendo que un for, un do-while o un while (incluso un if) no son m�s que gotos maquillados. Si no �c�mo se traducen a ensamblador estas estructuras de control? > Saludos :-) -Pedro- Saludos. Sigue el hilo, que me est� molando est� discusi�n. No es broma, la defensa / criminalizaci�n del uso del goto es una controversia muy fuerte. Hay ayatollahs en ambos bandos, y convencernos mutuamente va a ser virtualmente imposible, pero �y lo que se puede aprender? Como curiosidad, te dir� que 'goto' es una palabra clave reservada en java. Sin embargo, no aparece como estructura de control por ning�n lado. �����????? Y yo, lo m�s parecido a 'goto' que he utilizado en mi vida como programador (salvando aquellos tiernos tiempos en que programaba en Basic) es el 'gotoxy' de Pascal. Y no tiene nada que ver con lo que estamos hablando, pero ya desvar�o. De nuevo, saludos y, �por qu� no? un abrazo David
Technical Details
Message-ID:
<8v5q8s$jb2$1@titan.bt.es>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<zXhQ5.698$cQ5.16259@m2newsread.uni2.es> <8uto1a$t5g$1@titan.bt.es> <vpoa1tc0cg7go25021sfiajav8p4qa5e1v@4ax.com>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: 1135b7,9ebb41239b0c5eaa X-Google-Attributes: gid1135b7,public X-Google-Thread: 10d088,9ebb41239b0c5eaa X-Google-Attributes: gid10d088,public X-Google-Thread: 105378,9ebb41239b0c5eaa X-Google-Attributes: gid105378,public X-Google-Thread: f78ff,9ebb41239b0c5eaa X-Google-Attributes: gidf78ff,public X-Google-Thread: f59de,9ebb41239b0c5eaa X-Google-Attributes: gidf59de,public X-Google-Thread: f86c8,9ebb41239b0c5eaa X-Google-Attributes: gidf86c8,public X-Google-Thread: 1116f3,9ebb41239b0c5eaa X-Google-Attributes: gid1116f3,public From: "David" <davidrodrNOS@PAMexcite.es> Subject: Re: Programacion con GOTO Date: 2000/11/18 Message-ID: <8v5q8s$jb2$1@titan.bt.es> X-Deja-AN: 695063985 Content-Transfer-Encoding: 8bit References: <zXhQ5.698$cQ5.16259@m2newsread.uni2.es> <8uto1a$t5g$1@titan.bt.es> <vpoa1tc0cg7go25021sfiajav8p4qa5e1v@4ax.com> X-Priority: 3 Content-Type: text/plain; charset="iso-8859-1" X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 X-Complaints-To: abuse@bt.es X-Trace: titan.bt.es 974548060 19810 212.22.41.100 (18 Nov 2000 11:47:40 GMT) Organization: BT Tel. Netnews service (readers) X-MSMail-Priority: Normal Mime-Version: 1.0 NNTP-Posting-Date: 18 Nov 2000 11:47:40 GMT Newsgroups: es.comp.lenguajes,es.comp.lenguajes.java,es.comp.lenguajes.misc,es.comp.os.linux.programacion,es.comp.os.ms-windows.programacion,es.foro.lenguajes,esp.comp.so.linux.programacion