在asm块上下文中似乎有一个未记录的常量eof
。这是使用Delphi 7进行测试的。
program TestEof;
{$APPTYPE CONSOLE}
var
example : Integer;
begin
asm
mov example, eof
end;
writeln(example);
readln;
end.
这会打印出14
。
eof
常量及其值$0E
或者14
来自哪里呢?
编辑:这是编译结果。
...
call @InitExe
// mov example, eof
mov [example], $0000000e
// writeln(example)
mov eax, [$004040a4]
mov edx, [example]
call @Write0Long
call @WriteLn
call @_IOTest
// readln;
...
TextOpen
函数的 Windows 版本,那么在遇到这个字符后文件将被截断。Linux 版本使用的是cEOF
,也就是$1A
。 - Egon$0E
,而不是$1A
。 - Egoncopy con test.txt
,您可以输入一行文本,然后按F6插入EOF字符,就像您在早期的DOS版本中所做的那样。 - Ken White