Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > ASM y Microcontroladores
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-10-2008
MasterXP MasterXP is offline
Miembro
 
Registrado: ene 2005
Posts: 193
Poder: 20
MasterXP Va por buen camino
No entiendo bien tu pregunta, no te bastaria con convertir de Decimal(o cualquier otra base) a Binario y asi con los octales y demas.

Podrias dar mas detalle.
Responder Con Cita
  #2  
Antiguo 16-10-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.561
Poder: 25
egostar Va camino a la fama
Hola

Tal vez estoy pecando de ingenuo, pero pienso que al final lo que se transmite son caracteres, es decir, no importa si el valor es hexadecimal, octal, decimal e incluso en fomato HTML.

Es decir, es lo mismo enviar 65 decimal que 41 hexadecimal que 101 octal que & #65; HTML al final lo que estas enviando es el caracter 'A'.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #3  
Antiguo 16-10-2008
Avatar de TOPX
TOPX TOPX is offline
Miembro
 
Registrado: may 2008
Ubicación: Bogotá
Posts: 527
Poder: 17
TOPX Va camino a la fama
Hola,

Ahora yo, con mi interpretación de la cuestión; que espero no estar enredando las cosas.

Pues, ya que este hilo está en "ASM y Microcontroladores", es posible que trate de Assembler "en línea" y que lo que busque esté aquí.
__________________
"constructive mind, destructive thoughts"
Responder Con Cita
  #4  
Antiguo 16-10-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.561
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por TOPX Ver Mensaje
Hola,

Ahora yo, con mi interpretación de la cuestión; que espero no estar enredando las cosas.

Pues, ya que este hilo está en "ASM y Microcontroladores", es posible que trate de Assembler "en línea" y que lo que busque esté aquí.
Pues como digo, tal vez me equivoque con el requerimiento de mario2000, pero esto funciona en delphi con ASM.

Código Delphi [-]
procedure WritePort(Port: word; Value: byte);
asm
 push word ptr Port
 mov al, Value
 pop dx
 out dx, al
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  WritePort(1016,ord('A'));
  WritePort(1016,65);
  WritePort($3F8,65);
  WritePort($3F8,$41);
end;

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #5  
Antiguo 16-10-2008
mario2000 mario2000 is offline
Miembro
 
Registrado: abr 2007
Posts: 109
Poder: 18
mario2000 Va por buen camino
Hola amigos gracias por sus respuestas, acerca de la representacion numerica en delphi lo que quiero es hacer esto:

Por ejemplo si tengo una variable asi:

var
dat:byte;
begin
dat:=$0f;
end;

con representacion binaria quedaria si fuese con el signo digamos % como en mikropascal claro pero en delphi asi :
var
dat:byte;
begin
dat:=%00001111;
end;

asi si por ejemplo quiero cambiar un bit solo tengo que cambiar el bit sin preocupaciones de esta manera digamos que es el bit 2 de 1 a 0 asi:

var
dat:byte;
begin
dat:=%00001011;
end;

ya me entienden es por comodidad ya que estoy trabajando con puertos y nesesito que la cosa no se me complique

Gracias por vuestros comentarios espero que ahora si puedan alludarme
Responder Con Cita
  #6  
Antiguo 16-10-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
Cita:
Empezado por mario2000 Ver Mensaje
Hola amigos gracias por sus respuestas, acerca de la representacion numerica en delphi lo que quiero es hacer esto:

Por ejemplo si tengo una variable asi:

var
dat:byte;
begin
dat:=$0f;
end;

con representacion binaria quedaria si fuese con el signo digamos % como en mikropascal claro pero en delphi asi :
var
dat:byte;
begin
dat:=%00001111;
end;

asi si por ejemplo quiero cambiar un bit solo tengo que cambiar el bit sin preocupaciones de esta manera digamos que es el bit 2 de 1 a 0 asi:

var
dat:byte;
begin
dat:=%00001011;
end;

ya me entienden es por comodidad ya que estoy trabajando con puertos y nesesito que la cosa no se me complique

Gracias por vuestros comentarios espero que ahora si puedan alludarme
Hola Mario.
Estas trabajando con puertos y no te quieres complicar.Una pregunta ¿tu lo que quieres es a la hora de programar poder visualizar los pines del puerto?
¿Es por eso que quieres ponerlos en binario?

Un Saludo.
Responder Con Cita
  #7  
Antiguo 16-10-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
Hola Mario.

No se porque llamas complicarte trabajar con hex.

La metrica es muy simple y un programador de micros debe dominarla sin mucho problema:

Binarios: 0 0 0 0 1 0 1 0 b

Decimal: 10

Hex: 0A

Si partimos de binarios : 00001010b los separamos en dos grupos de 4 tenemos 0 0 0 0 1 0 1 0 b

sus valores decimal son 128 64 32 16 8 4 2 1 es lo que valen

estos bits su suma total = 255 Dec

Los Hex son los mas nobles de todos: son dos caracteres 0A en el caso del ejemplo 00001010 Bin > 10 Dec > 0A Hex

Separamos los hex en dos 0 A cada uno de ellos tiene 4 bits 1010b

0 0 0 0 estos son los menos significativos bits de un byte su valor minimo "0" su valor maximo 15 si los tenemos todos a 1 1 1 1 = 15 dec = A hex

solo son 16 a memorizar y si nos fijamos en elgo el bit 0 solo estara a 1 si el numero es none (impar) nunca estara seteando en los numeros pares.

porque decimos que 1 0 1 0 = 10 dec y A hex muy facil solo estan dos de los 4 bits seteados a 1 el que vale 8 y el que vale 2 , 8+2=10 dec despues del 9 en hex tenemos la A .

A = 10
B = 11
C = 12
D = 13
E = 14
F = 15

Un hex como decia esta compuesto por dos caracteres "0A"

si los miras asi 5AH los separas en tu mente y dices 5 tiene el primero seteado porque impar ya sabes que tienes el primero "1" uno mas 4 es 5 bingo! 0 1 0 1 tienes los 4 mas significativos bit del byte.
entonces tenemos A que es 10 dec el primero no estara seteado porque es pare. entonces tenemos que 8 y 2 son 10=Ah 1 0 1 0 bingo!

0101 1010 = 5AH


Cuando dominas esta metrica no tienes problemas en con una pasadita de vista decir tal o mas cual.


Un Saludo.


PD: Para programar micros no hace falta aprenderte esta metrica.Pero si la dominas muchas cosas podras ver dentro de los files Intelhex, Hex y Binarios.
Responder Con Cita
Respuesta



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
error con consulta numerica raulmm26 SQL 32 04-10-2008 13:30:00
Una duda numérica jafl1965 Humor 36 07-11-2007 00:55:59
Consulta numerica alcides SQL 4 05-08-2005 15:50:20
Extraer referencia numerica de un texto asegurpe Varios 4 13-06-2005 13:39:43
Crear secuencia numerica con un procedimiento almacenado DobleSiete SQL 9 15-04-2005 22:28:25


La franja horaria es GMT +2. Ahora son las 00:25:30.


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