我正在浏览msdos源代码文件,我发现了一些惊人的汇编指令 为什么我们在堆栈中推送ss寄存器,然后我们进入ds寄存器。
实际上更多的代码在这里: 为了更方便,我正在写" save_world"过程
Start procedure save_world:
Push ax
Push bx
Push cx
Push dx
Push si
Push di
Push cs
Push es
Push ds
End procedure,
Invoke save_world:
pop ds
push ss
pop es
push ss
pop ds
ASSUME DS:DOSGROUP
更多代码如下。为清楚起见,我想说我正在浏览msdos源代码文件。
答案 0 :(得分:0)
见Jester的评论。 x86-16中没有mov ds, ss
指令。他们可以使用中间寄存器:
mov ax, ss
mov ds, ax
但要么他们想要节省空间,要么没有寄存器来破坏。