在有关.COM文件https://en.wikipedia.org/wiki/COM_file的wikpedia页面上显示:
。DOS中的.COM文件将所有x86段寄存器设置为相同的值,而SP(堆栈指针)寄存器设置为0xFFFE,因此堆栈从内存段的最顶部开始,并从那里开始向下工作。] >
但是这实际上将堆栈设置为在堆栈顶部下方开始一个单词。当将值压入堆栈时,CPU会将SP递减至0xFFFC并将其存储在该值中,从而浪费了该段的最高字。 DOS不将SP设置为0的原因是什么?
在有关.COM文件的https://en.wikipedia.org/wiki/COM_file的wikpedia页面上,它读取:在DOS中的.COM文件将所有x86段寄存器设置为相同的值,而SP(堆栈指针)寄存器设置为0xFFFE ,...