汇编语言 第6~8章

时间:2021-07-04 04:53:50

6.1 在代码段中使用数据:在程序中定义我们希望处理的数据,这些数据就会被编译、连接程序作为程序的一部分写到可执行文件中。当可执行文件中的程序被加入内存时,这些数据也同时被加入内存中,我们要处理的数据也就自然而然的获得了存储空间。

6.2 在代码段中使用栈:程序运行时,定义的数据存放在cs:0~cs:F单元中,共8个字节单元。依次将,将这8个字单元。依次将这8个字,单元的数据入栈,按后再出栈到这8个字单元中,从而实现数据的逆序存放。

6.3 将数据、代码、栈放入不同的段:用和定义代码段一样的方法来定义多个段,然后在这些段里面定义需要的数据,或通过定义数据来取得栈空间。

7.4 大小写转换的问题:小写字母的ASCII码值比大写字母的ASCII码值大20H。

7.5 [bx+idata]:指令mov ax,[bx+200]的含义:将一个内存单元的内容送入ax,这个内存单元的长度为2个字节(即单元),存放一个字,偏移地址为bx中的数值加上200,段地址在ds中。数字化的描述为:

(ax)=((ds)*16+(bx)+200)。

7.8 [bx+si]和[bx+di]: [bx+si]和[bx+di]含义相似,以 [bx+si]为例: [bx+si]表示一个内存单元,他的偏移地址为(bx)+(si)(即bx中的数值加上si中的数值)。

7.10 不同寻址方式的灵活运用:我们可以考虑将需要暂存的数据放到内存单元中,需要使用的时候,再从内存单元中恢复。这样我们需要开辟一段内存空间。

一般来说,在需要暂存数据的时候,我们都应该使用栈。

8.2 机器指令处理的数据在什么地方:在机器指令这一层来讲,并不关心数据的值多少,而关心指令执行前一刻,它将处理的数据所在的位置。指令在执行前,所要处理的数据可以在3个地方:CPU内部、内存、端口。

8.4 寻址方式:

汇编语言 第6~8章

8.9 dup:dup是一个操作符,在汇编语言中同dp、dw、dd等一样,也是由编译器识别处理的符号。他是和dp、dw、dd等数据定义伪指令配合使用的,用来进行数据的重复。