Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-10-2007
Avatar de aeff
aeff aeff is offline
Miembro
 
Registrado: oct 2006
Ubicación: Cuba, Guantánamo
Posts: 348
Poder: 18
aeff Va camino a la fama
Delphi y las interrupciones de Ensamblador

saludos,

mire, aún no logro entender por que Delphi no permite que en nuestros porgramas nos "expresemos libremente con el lenguaje Ensamblador",

cuando trato de llamar alguna interrupción en alguna línea de codigo en Delphi el programa al ejecutarla emite errores,

por ejemplo, usando la interrupción de video de la BIOS, 10h

un ejemplo de de un programa hecho en consola para posicionar el cursor del "DOS" en x; y que querramos,

Código Delphi [-]
program Project1;
{$APPTYPE CONSOLE}
uses
  SysUtils;
begin
asm
 mov ah, 02h
 mov al, 5  //fila
 mov dl, 5  //columna
 int 10h
end;
  readln;
end.

sería el caso, poner el cursor en x= 5 & y=5; pero no funciona, ¿por qué?

alguien puede tirar algo aquí,

saludos!
Responder Con Cita
  #2  
Antiguo 27-10-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Bueno, me hice la misma pregunta en algun momento; si quieres hacer lo que mostraste en tu anterior post tendras que hacerlo con Turbo Pascal.

las interrupciones solo estan disponibles para el HAL (Hardware Abstract Layer), ring 0 (anillo mayormente privilegiado) del Güindos... lastimosamente si quieres hacer algo realmente de bajo nivel deberás meterte con la DDK del Güindos.

Saludos de bajo nivel.
Responder Con Cita
  #3  
Antiguo 27-10-2007
Avatar de aeff
aeff aeff is offline
Miembro
 
Registrado: oct 2006
Ubicación: Cuba, Guantánamo
Posts: 348
Poder: 18
aeff Va camino a la fama
hmm! no entendi, solo un 1% de lo que acabas de decirme es lo que entiendo, ¿me explicas mejor?
Responder Con Cita
  #4  
Antiguo 27-10-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Me olvidaba: usa SetConsoleCursorPosition
Responder Con Cita
  #5  
Antiguo 27-10-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Cita:
Empezado por aeff Ver Mensaje
hmm! no entendi solo un 1% de lo que acabas de decirme, ¿me explicas mejor?
NT
Interrupciónes
anillo 0
HAL

DDK

Seguridad y control

PD: Si algún link no te funciona me avisas para que te copie un trozo de la pagina.
Edito: DDK

Saludos.

Última edición por cHackAll fecha: 27-10-2007 a las 02:45:04.
Responder Con Cita
  #6  
Antiguo 27-10-2007
Avatar de aeff
aeff aeff is offline
Miembro
 
Registrado: oct 2006
Ubicación: Cuba, Guantánamo
Posts: 348
Poder: 18
aeff Va camino a la fama
y donde está es funcion implementada, en que Unit, yo uso Delphi 5

saludos! los link si me funcionan, esos si! Wikipedia, hmm! ahi si puedo llegar, gracias hermano,

aeff!
Responder Con Cita
  #7  
Antiguo 27-10-2007
Avatar de aeff
aeff aeff is offline
Miembro
 
Registrado: oct 2006
Ubicación: Cuba, Guantánamo
Posts: 348
Poder: 18
aeff Va camino a la fama
ahhh! ya, Windows.pas, pero amigo, el codigo que puse arriba de ASM era solo de ejemplo, no tenia interes de hacer esto hasta ahora que me lo acabas de despertar,

¿como se usa esta función despues de todo?

gracias!
Responder Con Cita
  #8  
Antiguo 27-10-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Cita:
Empezado por aeff
y donde está es funcion implementada, en que Unit, yo uso Delphi 5...
Te refieres a SetConsoleCursorPosition ??? supongo que si, en tal caso la definición de esa API debería estar en la unidad Windows (como la mayoria de las APIs básicas)

pero porsiacaso:

Código Delphi [-]
function SetConsoleCursorPositionhConsoleOutput: THandle; dwCursorPosition: TCoord): BOOL; stdcall; external kernel32;

Espero la tengas definida porque si no tendras mucho trabajo:

Código:
 SetConsoleCtrlHandler()
 SetConsoleCursorPosition()
 SetConsoleMode()
 SetConsoleOutputCP()
 SetConsoleScreenBufferSize()
 SetConsoleTextAttribute()
 SetConsoleTitle()
 SetConsoleTitleA()
 SetConsoleTitleW()
 SetConsoleWindowInfo()
 SetConsoleCursorPosition()
 
ETC, ETC....
Responder Con Cita
  #9  
Antiguo 27-10-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Cita:
Empezado por aeff Ver Mensaje
...¿como se usa esta función despues de todo?...
RTFM (ese ya es otro tema)

Saludos.
Responder Con Cita
  #10  
Antiguo 27-10-2007
Avatar de aeff
aeff aeff is offline
Miembro
 
Registrado: oct 2006
Ubicación: Cuba, Guantánamo
Posts: 348
Poder: 18
aeff Va camino a la fama
en eso mismo estaba yo pensando, me estoy adaptando a que me respondan mis questiones aqui en el Club y no me pongo a investigar, je je je,

saludos cHackAll!
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
Manual/Tutorial de ASM (Ensamblador) en castellano DarkByte Varios 17 16-02-2008 01:20:57
Interrupciones MaMu Varios 0 20-07-2007 10:59:58
Ayuda con Ensamblador aeff Varios 3 12-12-2006 00:08:12
INTERRUPCIONES en WINDOWS ? Infobyte API de Windows 1 12-02-2006 12:23:33
Utilización de DLLs e interrupciones... emeceuy Varios 1 05-08-2005 06:39:35


La franja horaria es GMT +2. Ahora son las 04:52:59.


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