Estoy queriendo pasar ua funcion que encontre entre mis cosas, la cual me sirve para leer la etqueta y la serie de un disco duro, pero, ya me atore por mucho rato.
Alguien podria ayudarme a corregirlo y ponerlo de nuevo en el foro, a mucho sppodria servirnos.
#pragma BEGINDUMP
#include "windows.h"
#include "xailer.h"
#include "winsock2.h"
// #include "extend.api"
#define AX_GETSERIAL 2150 //h0866
#define AX_SETSERIAL 2118 //h0846
#define UPPER ('a' - 'A')
#define islower(p) ( 'a' <= (p) && (p) <= 'z' )
#define toupper(p) ( islower(p) ? ((p) - UPPER) : ((p)) )
XA_FUNC( ZVOLUME )
{
WSADATA wsa;
char *name = (char *) hb_xgrab( 25 );
unsigned int iDrive = ISNUM(1) ? hb_parni(1) : 0 ;
int iCX = AX_GETSERIAL;
int iReturn = 0;
int iFree = 0;
if ISCHAR(1)
iDrive = toupper(hb_parc(1)[0]) - 64 ;
if (ISCHAR(2) && (hb_parclen(2) == 25) )
{
iCX = AX_SETSERIAL ;
name = hb_parc(2);
}
else
{
iFree = 1;
name = hb_xalloc(25) ;
}
//en lo que sigue marca error
_asm
{ push ds
push dx
push cx
lds dx, [name] ; load name address in DS:DX
mov AX,440Dh
mov BX,iDrive
mov CX,iCX
int 21h
JNC noerror
mov iReturn, AX
noerror:
pop cx
op dx
pop ds
}
hb_retc("");
if ( iReturn == 0 )
hb_retclen(name,25);
if (iFree)
{
WSACleanup();
hb_xfree(name);
}
}
#pragma ENDDUMP
Saludos.
--
Ramón Zea
ramonzea@yahoo.com
http://www.paginasprodigy.com/zeasoft/
--
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Usando C y ASM
-
- Mensajes: 1831
- Registrado: Mar Oct 11, 2005 9:53 am
Usando C y ASM
Ramón Zea
Móvil: 01-993-231-62-29
ramonzea@yahoo.com
zeasoftware@hotmail.com
zeasoft.movil@hotmail.com
http://www.paginasprodigy.com/zeasoftware/
Móvil: 01-993-231-62-29
ramonzea@yahoo.com
zeasoftware@hotmail.com
zeasoft.movil@hotmail.com
http://www.paginasprodigy.com/zeasoftware/
-
- Mensajes: 1831
- Registrado: Mar Oct 11, 2005 9:53 am
Usando C y ASM
marca esto a pesar que ya grabe el tasm32.exe en bcc55bin
Compilando zBIOSPC.prg...
Warning W8002 zBIOSPC.prg 109: Restarting compile using assembly in function HB_FUN_ZVOLUME
Error E2133: Unable to execute command 'tasm32.exe'
1 Warnings, 1 Errors
Alguna sugerencia?
--
Ramón Zea
ramonzea@yahoo.com
http://www.paginasprodigy.com/zeasoft/
--
Compilando zBIOSPC.prg...
Warning W8002 zBIOSPC.prg 109: Restarting compile using assembly in function HB_FUN_ZVOLUME
Error E2133: Unable to execute command 'tasm32.exe'
1 Warnings, 1 Errors
Alguna sugerencia?
--
Ramón Zea
ramonzea@yahoo.com
http://www.paginasprodigy.com/zeasoft/
--
Ramón Zea
Móvil: 01-993-231-62-29
ramonzea@yahoo.com
zeasoftware@hotmail.com
zeasoft.movil@hotmail.com
http://www.paginasprodigy.com/zeasoftware/
Móvil: 01-993-231-62-29
ramonzea@yahoo.com
zeasoftware@hotmail.com
zeasoft.movil@hotmail.com
http://www.paginasprodigy.com/zeasoftware/
Usando C y ASM
Ramón,
esa función es para 16 bits, y en 32 bits no te va a funcionar. Es más, no
creo ni siquiera que consigas compilarla, ya que está llamando a la int 21h,
que era el punto de entrada al API de MS-DOS, y que como puedes imaginar, en
Win32 no existe.
--
Un saludo,
José F. Giménez
http://www.xailer.com
esa función es para 16 bits, y en 32 bits no te va a funcionar. Es más, no
creo ni siquiera que consigas compilarla, ya que está llamando a la int 21h,
que era el punto de entrada al API de MS-DOS, y que como puedes imaginar, en
Win32 no existe.
--
Un saludo,
José F. Giménez
http://www.xailer.com
-
- Mensajes: 1831
- Registrado: Mar Oct 11, 2005 9:53 am
Usando C y ASM
Gracias, JFG.
Alguien tiene su equivalente o puede pasarlo a 32 bits?
Saludos.
--
Ramón Zea
ramonzea@yahoo.com
http://www.paginasprodigy.com/zeasoft/
Alguien tiene su equivalente o puede pasarlo a 32 bits?
Saludos.
--
Ramón Zea
ramonzea@yahoo.com
http://www.paginasprodigy.com/zeasoft/
Ramón Zea
Móvil: 01-993-231-62-29
ramonzea@yahoo.com
zeasoftware@hotmail.com
zeasoft.movil@hotmail.com
http://www.paginasprodigy.com/zeasoftware/
Móvil: 01-993-231-62-29
ramonzea@yahoo.com
zeasoftware@hotmail.com
zeasoft.movil@hotmail.com
http://www.paginasprodigy.com/zeasoftware/