在第5 章中,显示字符串“Label offset:”的方法是将每个字符的ASCII 码包含在每条指令中,即它们是作为每条指令的操作数出现的。这种方法很原始,也很笨拙。而且,如果要改变显示的内容,则必须重新编写指令,很不方便。
在本章中,我们将要改变这种做法,使得显示字符串的手段更灵活,具体做法是专门定义一个存放字符串的数据区,当要显示它们的时候,再用指令取出来,一个一个地传送到显示缓冲区。这样一来,负责在屏幕上显示的指令就和要显示的内容无关了。
源程序的第8、9 行,这两行的目的是声明要显示的内容。在NASM 里,“\”是续行符,当一行写不下时,可以在行尾使用这个符号,以表明下一行与当前行应该合并为一行。
和上一章相同,在用伪指令db 声明字符的ASCII 码数据时也可以使用字面值。在编译阶段,编译器将把’L’、’a’等转换成与它们等价的ASCII 代码。
除了ASCII 码,这里还声明了每个字符的显示属性值0x07,都是已经讲过的知识,相信很好理解。