1、子函数中进行现场保护时,不能把返回值所存放的寄存器(绝对不可以)入栈,只是被访问而没有被修改的寄存器也不需要入栈。
子函数的参数尽量入栈,因为如果后面的子函数再次使用这些参数时,需要确保参数没有变动;
2、开机CPU加电后,初始化CS=0FFFFH,IP=0。FFFFH:0处有一条跳转指令,跳转至BIOS中硬件系统检测和初始化程序处。
初始化程序建立BIOS中断例程的中断向量表,不进行中断例程的安装,因为BIOS的中断例程是固化在ROM中的。
硬件系统检测和初始化程序完成后,调用int 19h中断,引导DOS的启动。
DOS启动后,进行中断例程的安装,并建立相应的中断向量表。(引用自王爽老师的《汇编语言》第二版)
3、push cs,pop ds指令可以用来把cs的值赋给ds,push byte ptr [si],pop byte ptr es:[di],指令可以把ds:si内存单元的内容存入es:di