汇编语言之包含多个段的程序

Posted bowentianxia

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编语言之包含多个段的程序相关的知识,希望对你有一定的参考价值。

一:dw=define word 即使用dw定义字型数据(数据之间以逗号分隔)dw 既可定义数据,也可以说用它开辟内存空间

db定义字节类型变量,一个字节数据占1个字节单元,读完一个,偏移量加1

dw定义字类型变量,一个字数据占2个字节单元,读完一个,偏移量加2
dd定义双字类型变量,一个双字数据占4个字节单元,读完一个,偏移量加4

二:程序取得所需空间的方法有两种,1是在加载程序的时候为程序分配,2是程序在执行的过程中向系统申请。

三:数据和指令在本质上无区别,为了让程序的入口处是我们所希望执行的指令。我们可以加标号。在程序入口前加标号,在程序结束后加上相同的标号。

  标号 start 与 end start——end 除了通知编译器程序结束外,还可以通知编译器程序的入口在什么地方,

  此处用 end 指令表明了程序的入口在标号 start 处,被转化为一个入口地址

四:将数据、代码、栈放在不同的段中,可以使程序结构清晰易懂,对于8086而言,可以使用多个栈,解决长度超64kb的限制问题

  访问段中的数据,通过地址(段地址和偏移地址),段名即代表一个标号,代表段地址。

  用伪指令 assume 将 cs、ds、ss 分别和 code、data、stack 段相连之后,CPU 也没并没有将对应的段和段寄存器相连接,因为 assume 只是伪指令

 

技术分享图片

 



以上是关于汇编语言之包含多个段的程序的主要内容,如果未能解决你的问题,请参考以下文章

王爽《汇编语言》第三版 第六章 包含多个段的程序

汇编语言——包含多个段的程序

《汇编语言》总结03 —— 包含多个段的程序

汇编06:包含多个段的程序

实验五 包含多个段的程序

汇编语言第六章-包含多个段的程序