Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 如何获取turbo pascal(dosbox)中的汇编代码?_Assembly_Pascal_Turbo Pascal - Fatal编程技术网

Assembly 如何获取turbo pascal(dosbox)中的汇编代码?

Assembly 如何获取turbo pascal(dosbox)中的汇编代码?,assembly,pascal,turbo-pascal,Assembly,Pascal,Turbo Pascal,我只想检查我的程序的汇编代码,看看他是否正在将我的数据加载到一些寄存器中 我尝试使用“make”和“build”以及选择“disk”作为输出,但除了源文件和exe文件之外,没有任何新文件。Turbo Pascal不会生成任何要检查的中间汇编代码。既然你想以交互方式检查它,你还是需要一个调试器 有一个名为TurboDebugger的程序,也适用于DOS,具有类似于TurboPascal的UI,它应该适合您的需要。如果我没记错的话,至少有一个版本是免费发布的。作为使用Turbo Pascal的替代方

我只想检查我的程序的汇编代码,看看他是否正在将我的数据加载到一些寄存器中


我尝试使用“make”和“build”以及选择“disk”作为输出,但除了源文件和exe文件之外,没有任何新文件。

Turbo Pascal不会生成任何要检查的中间汇编代码。既然你想以交互方式检查它,你还是需要一个调试器


有一个名为TurboDebugger的程序,也适用于DOS,具有类似于TurboPascal的UI,它应该适合您的需要。如果我没记错的话,至少有一个版本是免费发布的。

作为使用Turbo Pascal的替代方案,您可以尝试使用虚拟Pascal,它与BP/TP 7 99.9%兼容。它是32位的,所以您不需要DOSBox(或者,如果我可以建议一个更好的替代方案,DOSBox-X),如果您要求它这样做,它会生成一个完整的汇编程序列表。IDE还有一个CPU窗口,显示生成的代码,并允许您单步执行,突出显示已更改的寄存器。

因此,请使用您喜爱的反汇编程序反汇编二进制(.exe),或在调试器中运行代码。构建工具只生成对象文件是正常的,除非您使用额外的选项来生成源文件。(我不知道turbopascal的是什么)。嗨,我试过使用“ndisam”,但是输出文件很大。这正常吗?只是一个c=a+b帕斯卡程序。@PeterCordes:turbo-pascal,他运行的程序可能比PE早好几年。更像是MZ DOS格式。@彼得考德理解DOS MZ格式的程序的优点是它们理解头并将其解析出来。NDISAM盲目地抛弃一切。然后它就不会考虑重新定位条目了。对于分解Turbo Pascal程序,我已经习惯了。不确定该链接是否指向合法版本(Google显示了一些链接),但W32DASM在MZ EXE上运行得非常好。