C
ccdarkness
Unregistered / Unconfirmed
GUEST, unregistred user!
我想在dos下操作一个文本文件,我新建了一个console application,
在windows下可以运行,windows的CMD下也可以运行,但是在纯dos不可以运行,要怎么修改
或者delphi写的程序根本不能在纯dos下运行
我试着用trubo pascal编译,但是出错,在trubo pascal下怎么嵌入汇编代码?
谢谢!不知道也帮顶一下,ok!!!
完整代码如下:
//嵌入汇编代码,为了生成的程序小些
procedure CvtInt;
asm
OR CL,CL
JNZ @CvtLoop
@C1: OR EAX,EAX
JNS @C2
NEG EAX
CALL @C2
MOV AL,'-'
INC ECX
DEC ESI
MOV [ESI],AL
RET
@C2: MOV ECX,10
@CvtLoop:
PUSH EDX
PUSH ESI
@D1: XOR EDX,EDX
DIV ECX
DEC ESI
ADD DL,'0'
CMP DL,'0'+10
JB @D2
ADD DL,('A'-'0')-10
@D2: MOV [ESI],DL
OR EAX,EAX
JNE @D1
POP ECX
POP EDX
SUB ECX,ESI
SUB EDX,ECX
JBE @D5
ADD ECX,EDX
MOV AL,'0'
SUB ESI,EDX
JMP @z
@zloop: MOV [ESI+EDX],AL
@z: DEC EDX
JNZ @zloop
MOV [ESI],AL
@D5:
end;
function IntToStr(Value: Integer): string;
asm
PUSH ESI
MOV ESI, ESP
SUB ESP, 16
XOR ECX, ECX
PUSH EDX
XOR EDX, EDX
CALL CvtInt
MOV EDX, ESI
POP EAX
CALL System.@LStrFromPCharLen
ADD ESP, 16
POP ESI
end;
var
f: textfile;
begin
assignfile(f, 'c:/WATTCP.CFG');
rewrite(f);
Randomize;
writeln(f, 'IP=192.' + inttostr(Random(255)) + '.' + inttostr(Random(255)) + '.' + inttostr(Random(255)));
writeln(f, 'NETMASK=255.255.255.0');
writeln(f, 'GATEWAY=192.168.0.1');
CloseFile(f);
end.
在windows下可以运行,windows的CMD下也可以运行,但是在纯dos不可以运行,要怎么修改
或者delphi写的程序根本不能在纯dos下运行
我试着用trubo pascal编译,但是出错,在trubo pascal下怎么嵌入汇编代码?
谢谢!不知道也帮顶一下,ok!!!
完整代码如下:
//嵌入汇编代码,为了生成的程序小些
procedure CvtInt;
asm
OR CL,CL
JNZ @CvtLoop
@C1: OR EAX,EAX
JNS @C2
NEG EAX
CALL @C2
MOV AL,'-'
INC ECX
DEC ESI
MOV [ESI],AL
RET
@C2: MOV ECX,10
@CvtLoop:
PUSH EDX
PUSH ESI
@D1: XOR EDX,EDX
DIV ECX
DEC ESI
ADD DL,'0'
CMP DL,'0'+10
JB @D2
ADD DL,('A'-'0')-10
@D2: MOV [ESI],DL
OR EAX,EAX
JNE @D1
POP ECX
POP EDX
SUB ECX,ESI
SUB EDX,ECX
JBE @D5
ADD ECX,EDX
MOV AL,'0'
SUB ESI,EDX
JMP @z
@zloop: MOV [ESI+EDX],AL
@z: DEC EDX
JNZ @zloop
MOV [ESI],AL
@D5:
end;
function IntToStr(Value: Integer): string;
asm
PUSH ESI
MOV ESI, ESP
SUB ESP, 16
XOR ECX, ECX
PUSH EDX
XOR EDX, EDX
CALL CvtInt
MOV EDX, ESI
POP EAX
CALL System.@LStrFromPCharLen
ADD ESP, 16
POP ESI
end;
var
f: textfile;
begin
assignfile(f, 'c:/WATTCP.CFG');
rewrite(f);
Randomize;
writeln(f, 'IP=192.' + inttostr(Random(255)) + '.' + inttostr(Random(255)) + '.' + inttostr(Random(255)));
writeln(f, 'NETMASK=255.255.255.0');
writeln(f, 'GATEWAY=192.168.0.1');
CloseFile(f);
end.