010:consultorio

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

010:consultorio [d/m/Y H:i] – creado miguel010:consultorio [d/m/Y H:i] (actual) – [Programar en código máquina] miguel
Línea 125: Línea 125:
 </code> </code>
  
-La pregunta es: ¿Cómo puedo hacer lo mismo, en Código Máquina o cualquier otro lenguaje, para ahorrar al máximo y que no sea tan tedioso el programarlo?+//La pregunta es: ¿Cómo puedo hacer lo mismo, en Código Máquina o cualquier otro lenguaje, para ahorrar al máximo y que no sea tan tedioso el programarlo?//
  
-Pedro GONZALEZ ■ Barcelona+--- **Pedro González :: Barcelona**
  
-□ No entendemos muy bien el sentido de su pregunta, pero vamos a intentar orientarle:+No entendemos muy bien el sentido de su pregunta, pero vamos a intentar orientarle:
  
-Si su problema es la cantidad de memoria disponible, el truco no está en el código máquina, sino en el empleo de variables o matrices alfanuméricas que consumen mucha menos memoria que las numéricas, ya que estas últimas gastan 6 bytes adicionales: cinco para la coma flotante y uno para el CHR $ 14 indicativo de número.+Si su problema es la cantidad de memoria disponible, el truco no está en el código máquina, sino en el empleo de variables o matrices alfanuméricas que consumen mucha menos memoria que las numéricas, ya que estas últimas gastan 6 bytes adicionales: cinco para la coma flotante y uno para el CHR$ 14 indicativo de número.
  
-En cuanto al problema de tener que utilizar una larga lista de INKEY $ para capturar las diversas teclas, puede solucionarlo utilizando el valor ASCII de las mismas. Por ejemplo, la utilización de las teclas A...Z le permite direccionar fácil-+En cuanto al problema de tener que utilizar una larga lista de INKEY$ para capturar las diversas teclas, puede solucionarlo utilizando el valor ASCII de las mismas. Por ejemplo, la utilización de las teclas A...Z le permite direccionar fácilmente el flujo de su programa con muy pocas instrucciones:
  
-mente el flujo de su programa con muy pocas instrucciones:+<code basic> 
 +LET A = CODE INKEY$ GO SUB A (O GO SUB A * 100) 
 +</code>
  
-LET A = CODE INKEY $ GOSUB A (O GOSUB A* 100)+Donde sí puede ser de gran utilidad el código máquina es en la búsqueda de los valores de la tabla. Sería muy largo explicarle un programa completo, pero la idea general es cargar en el registro IX la dirección de la tabla a investigar (no utilice el registro IY que se emplea para apuntar a la dirección de las variables del sistema). Cargando los datos en el registro B (acumulador).
  
-— Donde sí puede ser de gran utilidad el código máquina es en la búsqueda de los valores de la tablaSería muy largo explicarle un programa completopero la idea general es cargar en el registro IX la dirección de la tabla a investigar (no utilice el registro IY que se emplea para apuntar a la dirección de las variables del sistema). Cargando los datos en el registro B (acumulador).+en realidad tampoco necesita utilizar las parejas GO TO/GO SUB si utiliza una matriz como si fuera un archivo indexadoSupongamos una matriz alfanumérica DIM A$(1016) a la que Vd. quiere llamar pulsando las teclas 0 al 9. Los ocho primeros bytes de cada elemento contienen el valor ASCII del precio, y los ocho siguientes, la medida (esto le da hasta 99.999.999). 
  
-Y en realidad tampoco necesita utilizar las parejas GOTO/GOSUB si utiliza una matriz como si fuera un archivo indexado. Supongamos una matriz alfanuméri-ca DIM A $(10, 16) a la que Vd. quiere llamar pulsando las teclas 0 al 9. Los ocho primeros bytes de cada elemento contienen el valor AS-CIO del precio, y los ocho siguientes, la medida (esto le da hasta 99.999.999). Una vez metidos los datos, su programa quedaría así:+Una vez metidos los datos, su programa quedaría así:
  
-10 IF (INKEY $ "9" AND INKEY $0) THEN GOTO 10 20 LET INDICE = (CODE INKEY $) — 47 /*CONVER-TIR A BINARIO*/ +<code basic> 
- +10 IF (INKEY$ "9" AND INKEY$ 0) THEN GOTO 10 
-30 PRECIO = VAL A $ (INDICE, 1 TO 8) +20 LET INDICE = (CODE INKEY$) — 47 /*CONVERTIR A BINARIO*/ 
- +30 PRECIO = VAL A$ (INDICE, 1 TO 8) 
-30 MEDIDA = VAL A $ (INDICE, 9 TO 16)+40 MEDIDA = VAL A$ (INDICE, 9 TO 16) 
 +</code>
  • 010/consultorio.1291148025.txt.gz
  • Última modificación: d/m/Y H:i
  • (editor externo)