Turbo Pascal系列开发工具,特别是Borland Pascal,有许多优点,
其中很重要的一点,就是具有mem[],memw[],port[]这些语句,
它们可以取代汇编,让你方便地快速地直接访问内存和端口,
从而编写出用许多精彩的东西。
现在有了一个叫FreePascal,它是仿制Turbo Pascal得到,
但不能使用mem[],memw[],port[]这些关键性语句,
请问有没有办法找到代用的语句,来克服困难?

解决方案 »

  1.   

    freepascal不熟,但由于平台发展的关系,很多语言不再支持直接的物理设备访问
    Turbo Pascal 在dos平台,实模式下工作,直接访问物理设备是很正常的
    FreePascal虽然也有DOS模式,但目前流行的还是windwos,linux等在保护模式下工作的操作系统,应用程序工作在RING3级,一般的直接物理设备访问是不可以的,估计为了源码的移植,它把这部功能取消了
    如果你在dos平台,要实现你的功能,可用嵌入汇编自己写mem[],memw[],port[](写成函数)
    如果在windows平台,只能通过操作系统的SDK/DDK或第三方的库(如winio)来编写直接设备访问的程序了
      

  2.   

    内联汇编可行,Delphi也可以用内联汇编访问硬件
      

  3.   

    希望有人帮我编写一个能在xp下编译运行的访问memory的内联汇编
      

  4.   

    请问各位,牵涉图形的DOS软件,是否只有16色的标准VGA才可以使用?