我已经开始学习组装了。我遇到了这些线。
;*************************************************;
; Second Stage Loader Entry Point
;************************************************;
main:
cli ; clear interrupts
push cs ; Insure DS=CS
pop ds
在第二行代码中,代码段被推送到堆栈(我认为是这个)。我在很多代码中都看到过。为什么我们应该这样做以及它如何确保 DS =CS?在第三行 DS 是从堆栈中弹出的(我认为这个)。为什么要完成?它从堆栈中弹出意味着它之前被推入堆栈。没有代码。任何人都可以向我解释这一切吗?提前致谢。