Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros temas > La Taberna
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #61  
Antiguo 25-07-2017
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
A ver, a ver, que aquí la gente está confundiendo cosas.

C es un lenguaje, C++ es otro. No mezclemos. C no tiene "templates", o al menos no las tenía la última vez que miré. Otra cosa es que un compilador C/C++ permita usar "templates" en "modo C". FPC permite usar métodos dentro de los RECORDS en "modo Pascal" (con una opción). Es una extensión, pero no es parte del lenguaje.

Luego, C es un lenguaje de bajo nivel. Es más, puedes plantear un compilador C como una fina capa sobre ensamblador. Salvo alguna que otra instrucción (switch) el resto casi puede traducirse directamente a ensamblador, sobre todo el C original de K&R y el ANSI pre-99 (mi favorito). Pascal es un lenguaje de alto nivel, y Object Pascal ni te cuento (está al nivel de Modula-2/Oberon), no tiene nada que ver.

Eso de que C++ es más rápido o más potente que Object Pascal es discutible. Un mal programador puede hacer que la cosa vaya lenta por muy rápido que sea el lenguaje o el ordenador. Me han dicho que Windows 10 funciona en los últimos Pentium, y que no va mucho más lento que en un cuatro-núcleos de última generación (de hecho depende más de la cantidad de memoria disponible que del procesador en sí).

Cita:
Empezado por Casimiro Notevi Ver Mensaje
Ha habido muchos casos de ese tipo, por poner un simple ejemplo: skype (hecho en delphi), era un buen programa de comunicaciones, empezó a ser "famoso" y microsoft decidió comprarlo, a partir de ahí (y con su mucho dinero) lo promocionaron y se hizo casi un estandar. El problema es que le han hecho tantos cambios y le han metido tanta "moralla", que ahora es un programa enorme, lento y pensado. Mejor que microsoft no compre delphi
Microsoft es un gran especialista en crear bloatware desde los tiempos del MS-DOS.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine

Última edición por Ñuño Martínez fecha: 25-07-2017 a las 12:49:19.
Responder Con Cita
  #62  
Antiguo 25-07-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Ñuño Martínez Ver Mensaje
A ver, a ver,...
Siempre de acuerdo contigo en todo
Responder Con Cita
  #63  
Antiguo 28-07-2017
REHome REHome is offline
Miembro
 
Registrado: jul 2003
Ubicación: España
Posts: 454
Poder: 21
REHome Va por buen camino
Si, montábamos en la protoboar todos los TTL y cmabiabamos los cables de 0 a 5V y al revés, todo en binario, guardar datos en la RAM en binario, hacer cálculos en binario, no en ensamblador, nunca ensamblador. Hoy en día lo siguen haciendo para saber de que va la electrónica por dentro y entenderlo mejor.

En cuanto al Marqueting, que espebile Delphi y lo haga, porque si lo hace Microsoft, tartdó mucho en C# subir el listón, casi nadie lo quería, solo yo y unos pocos en su tiempo, ya que preferían C/C++. Mucho quejicas con C# y ahora no lo abandonan.

Pues que espavile DElphi.
__________________
http://electronica-pic.blogspot.com....n-arduino.html Manuales de electrónica general, PIC y Arduino.
Responder Con Cita
  #64  
Antiguo 28-07-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Con qué programabas 010101001000111111100000100101010101010101010?
Responder Con Cita
  #65  
Antiguo 29-07-2017
REHome REHome is offline
Miembro
 
Registrado: jul 2003
Ubicación: España
Posts: 454
Poder: 21
REHome Va por buen camino
Hola:

Con una ALU, con una memoria RAM, con un multiplexor, un contador, un temporizador con el 555 y pueras lógicas como estas.

https://image.slidesharecdn.com/curs...?cb=1337614716

Cambiamos los cables a mano desde la protoboard. Parecido al vídeo de abajo pero este está multiplicado por seis su tamaño.

Ver vídeo.

Puedes hacerlo todavía en los PC modernos como indica aquí abajo.

Ver vídeo.

Estamos haciendo un emulador con C# para programar en binario y pasar los comandos en ensamblador y hex.
http://zonadepruebas.com/viewtopic.php?f=13&t=8030

Si funciona todo bien, pues hacer conmutadores físicamente. Algo parecido a lo de abajo.

Ver vídeo.

Saludos.
__________________
http://electronica-pic.blogspot.com....n-arduino.html Manuales de electrónica general, PIC y Arduino.
Responder Con Cita
  #66  
Antiguo 29-07-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Gracias por la explicación, aunque mi pregunta no iba por ahí.
Yo también he programado distintos aparatitos y algunos de ellos hace muuuuuuchos años , siempre usando ensamblador y C, pero mi pregunta era porque dices que programabas en binario, y no recuerdo yo ningún caso en que se programara así: "0100101010101010101010" todo el rato. Entonces mi pregunta más exacta sería ¿Escribías el código 010101010101101000101010010 con un editor de texto y luego lo compilabas con qué?

Cita:
Empezado por REHome Ver Mensaje
Estamos haciendo un emulador con C# para programar en binario y pasar los comandos en ensamblador y hex.
Pues eso, no entiendo lo de "programar en binario", y menos todavía si dices que lo estás haciendo en c# pasando comandos ensamblador y hex.
Responder Con Cita
  #67  
Antiguo 30-07-2017
REHome REHome is offline
Miembro
 
Registrado: jul 2003
Ubicación: España
Posts: 454
Poder: 21
REHome Va por buen camino
Buenas:

Programar en binario quiero decir tener una protoboard concircuitos integrados. Programar en binario es tener una lista primero en un cuaderno a lápiz, muchas tablas de la verdad de lo que queremos hacer.

Por ejemplo:
https://eduardopayan93.files.wordpre...10/8.png?w=640

Antes tenemos una ALU configuraro en aritmética para programarlo en binario, sumar en binario. Para sumar 00000001 + 00010000 = 00010001.

Montábamos circuitos así, con una protoboard.
Ver imagen.

No hay ni un monitor ni discos duros ni tarjetas Micro-SD, prohibido usarlos ya que estamos en lo primero de lo más básico para poder entender bien la electrónica en el mundo binario, más que informática. Los profesores nos deja claro que la madre de la informática es la electrónica y la madre de la electrónica es la electricidad.

Si te fijas en l aprotoboard de la imagen de arriba que puse, colocando cables a 5V o en 0 V que quiere decir 1 y 0 en binario, sobre todo en las entradas de datos.

Colocábamos una dirección en el multiplexor para introducir datos en la memoria RAM en binario y luego seleccionábamos otra dirección. Con un contador y un temporizador bucábamos la secuencia correcta de todo el mapa de memoria RAM hasta coincidir el número almacenado con otro para compararlo y el temporizador se detiene. Tontería que hacíamos pero costaba hacerlas, de novato, claro.

No usamos microcontroladores, solo una ALU para cálculas de aritmética y más cosas, todo a mano, todo. Cunado vez un Altair 8800 o el IMSAI 8080, los conmutadores están bien puesto en la caja pero la mecánica es la misma.

Este tipo de programación se sigue aprendiendo en España para entender a fondo estas cosas, así aprendes a diseñar circuitos y resolver problemas en la electrónica, cosa que muchos informáticos creen saber más que los electrónicos en este campo y no es así, depende de las enseñanzas adquiridad por los centros o de la perosna de forma autodidacta sin estudiso que sabe más que yo. Y los hay.

¿Cómo programaba en binario?

Quitar y poner cables de datos.

En cuanto a C#, es poner binarios, lo transforma las intrucciones en ensamblador y después compila a hex.

La tabla de instrucciones del PIC16F84A la saco de aquí.






Como puedes ver, introduzco en el C# todo en binario.
00001000 1 000 0110

Luego se transforma en ensamblador como vez abajo.

MOVF PORTB, F

Y lo muestro en una LCD.


Lo de C# lo hago como un emulador para probar su funcionamiento, luego se introduces la misma programación en código de Arduino y muestra los datos introducidos en binario y transformado en ensamblador en una LCD.

Mi idea es programar un microcontrolador PIC16F84A. Puedes elegir un microprocesador si quieres como un Z80, 8085, 8086 pero he elegido un microcontrodor PIC de nivel medio porque tiene pocas instrucciones y no me pego media vida en terminar el proyecto.

Los 0 y 1 se introduces en estos interruptores como indica abajo 00001000 1 000 0110 en un Altair.



Primero en un papel y a mano escribes este código binario y te mostrará en pantalla algo como esto.

Código ensmablador:
Código:
; ZONA DE DATOS **********************************************************************

   LIST      P=16F84A
   INCLUDE      <P16F84A.INC>
   __CONFIG   _CP_OFF &  _WDT_OFF & _PWRTE_ON & _XT_OSC

    CBLOCK 0x0C
    Flag
    ENDC

; ZONA DE CÓDIGOS ********************************************************************

   ORG    0                  ; El programa comienza en la dirección 0.
Inicio
   bsf      STATUS,RP0            ; Acceso al Banco 1.
   clrf   PORTB               ; Las líneas del Puerto B se configuran como salida.
   movlw   b'00011111'            ; Las 5 líneas del Puerto A se configuran como entrada.
   movwf   PORTA
   bcf      STATUS,RP0            ; Acceso al Banco 0.
   bcf      PORTB,0

Principal
   btfsc   PORTA,0               ; ¿Pulsador presionado?, ¿(Pulsador)=0?
   goto   Principal            ; No. Vuelve a leerlo.
;   call   Retardo_20ms         ; Espera que se estabilicen los niveles de tensión.
   btfsc   PORTA,0               ; Comprueba si es un rebote.
   goto   Principal            ; Era rebote y sale fuera.
   goto   Led

EsperaDejePulsar
   btfss   PORTA,0               ; ¿Dejó de pulsar?, ¿(Pulsador)=1?
   goto   EsperaDejePulsar      ; No. Espere que deje de pulsar.
   goto   Principal   

Led
   btfss   Flag,0
   goto   Led_OFF
   goto   Led_ON

Led_OFF
   bcf      PORTB,0
   movlw   .1
   movwf   Flag
   goto   Principal

Led_ON
   bsf      PORTB,0
   clrf   Flag
   goto Principal
   
   INCLUDE <RETARDOS.INC>
   END
Cosa que hoy en día se programa directamente en el compilador MPLAB X.

A la hora de compilar te crea un archivo hex como puedes ver abajo y es lo que tienes que grabar dentro del PIC para que funcione. En este caso lo que hace es encender y apagar un Led con el mismo pulsador.

Archivo compilado:
Código:
:020000040000FA
:10000000831686011F308500831206100518062806
:10001000051806280E28051C0B2806280C1C11287C
:100020001528061001308C00062806148C010628BD
:1000300000000000000000000000000008000000B8
:10004000A4302B28000040302B281F302B28000024
:100050000E302B2805308D008D0B2C280800C83061
:100060003E2864303E2832303E2814303E280A3084
:100070003E2805303E2802303E2801308E00F930FF
:100080008D0000008D0B41288E0B3F280800C830E2
:1000900052286430522832305228143052280A3004
:1000A000522805308F0064308E00F9308D0000003A
:0E00B0008D0B57288E0B55288F0B53280800F8
:02400E00F13F80
:00000001FF
Saber más de Intel Hex.
https://es.wikipedia.org/wiki/Intel_HEX

Prgunta corta, respuesta larga.

__________________
http://electronica-pic.blogspot.com....n-arduino.html Manuales de electrónica general, PIC y Arduino.

Última edición por REHome fecha: 30-07-2017 a las 10:05:34.
Responder Con Cita
  #68  
Antiguo 30-07-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Gracias por la explicación, puede servir a muchos que quieran iniciarse en el tema
Responder Con Cita
  #69  
Antiguo 11-11-2017
AinohaDay AinohaDay is offline
Registrado
NULL
 
Registrado: oct 2017
Posts: 1
Poder: 0
AinohaDay Va por buen camino
espero que no sea el caso
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Gana y las bolsas se caen, ¿acaso es Humala otro Chávez? Al González La Taberna 11 08-06-2011 22:15:29
¿Acaso todos los miembros de este foro somos ateos? <Sergio> Humor 8 26-03-2008 09:31:18
Sql Y Objetos Acaso Es Posible? Zot@ SQL 10 19-03-2008 20:16:20
StrUtils no está en Delphi 5 Guillermo80 Varios 2 19-01-2008 22:56:34
...por si acaso... Jure Humor 2 26-07-2004 23:58:09


La franja horaria es GMT +2. Ahora son las 18:22:18.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi