原文:https://blog.csdn.net/u010234808/article/details/38366943
摘出关键部分:
-
编写程序,是写给编译软件的。由编译软件,编译成机器码,再去控制CPU。但是,编译软件,对assume语句,并不生成机器码。
所以,必须有mov ax,data,mov ds,ax,CPU才能受控。
- assume对除了CS以外的其它段寄存器,仅仅只是关联了段名,以便在访问段内变量时程序可以知道用哪个段寄存器,并没有在程序加载时将段地址装入段寄存器。
换句话说,assume的作用是让编译器知道在代码段中使用的变量来自于哪个段,从而可以利用段寄存器寻址。而将段地址装入段寄存器的任务仍然是由用户手动完成的。