6.1 在代码段中使用数据
如果现在我们想要计算8个数字的和,该如何计算呢?
我们可以将他们送入一个连续的内存单元中,然后用指令将他们一个一个做加法送到寄存器中。
但是,上哪里找到这样的空间呢?
我们不能自己定义需要的空间,因为这样可能会覆盖掉某些重要的信息。因此,应该让系统来为我们找到空间
这里介绍一个新的指令dw,dw(define word)的含义是定义一个字型数据,因此我们可以这样写我们的程序

但是,这样写程序会引发一个问题,CS:IP指向了我们定义的数据0123h,而这个数据所代表的二进制机器码又被解释为了汇编指令。因此,程序并不会像我们所想的那样运行。

真正的程序指令被放在了CS:0010的地方(因为我们定义了8个字型数据)

那么我们怎么告知编译器我们程序的开始代码在哪里呢?

我们在程序的第一条指令前面加上了一个标号start,并且在伪指令end的后面start也出现了。这样,就是告诉CPU将CS:IP的值(设置偏移地址)设置到标号start的位置