第六章+包含多个段的程序.ppt_第1页
第六章+包含多个段的程序.ppt_第2页
第六章+包含多个段的程序.ppt_第3页
第六章+包含多个段的程序.ppt_第4页
第六章+包含多个段的程序.ppt_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章包含多个段的程序 AssemblyLanguage 本章要点 在代码段中定义数据数据定义伪操作在代码段中定义栈将数据 代码 栈放入不同的段 AssemblyLanguage 在代码段中定义数据 问题 编程计算以下8个数据的和 结果存在ax寄存器中0123h 0456h 0789h 0abch 0defh 0fedh 0cbah 0987h分析 要想实现循环计算 必须将这些数据存储到一组地址连续的内存单元中 这段内存空间在哪里 如何将这些数据存储到内存单元中 解决 在程序中定义我们要处理的这些数据 使之经编译连接后 成为可执行文件的一部分 从而在程序加载的时候获得内存空间 AssemblyLanguage 数据的定义 dw defineword格式 变量名 dw数据1 数据2 功能 定义的是字型数据说明 变量名可有可无 表明所定义的第一个字节的偏移地址举例 data worddw100 100hdb definebyte格式 变量名 db数据1 数据2 功能 定义的是字节型数据举例 data bytedb10 10h AssemblyLanguage 问题的解决 assumecs codecodesegmentdw0123H 0456H 0789H 0abcH 0defH 0fedH 0cbaH 0987Hmovbx 0movax 0movcx 8s addax cs bx addbx 2loopsmovax 4c00hint21hcodeendsend AssemblyLanguage 如何访问定义的数据 要访问定义的数据 必须知道数据的存放位置定义的数据的段地址就是代码段的段地址 定义数据的偏移地址就是0 上面的程序生成可执行文件后 debug出现的问题 AssemblyLanguage 定义数据后出现的问题程序入口不是程序要执行的第一条指令解决办法 重新设置程序的入口地址程序入口的设置 start 程序的第一条指令 endstart AssemblyLanguage 改进后的程序 assumecs codecodesegmentdw0123H 0456H 0789H 0abcH 0defH 0fedH 0cbaH 0987Hstart movbx 0movax 0movcx 8s addax cs bx addbx 2loopsmovax 4c00hint21hcodeendsendstart AssemblyLanguage 在代码段中使用栈 问题 完成下面的程序 利用栈 将程序中定义的数据逆序存放 assumecs codesgcodesgsegmentdw0123H 0456H 0789H 0abcH 0defH 0fedH 0cbaH 0987H codesgendsend AssemblyLanguage 问题的解决 assumecs codesgcodesgsegmentdw0123H 0456H 0789H 0abcH 0defH 0fedH 0cbaH 0987Hdw0 0 0 0 0 0 0 0start movax csmovss axmovsp 32movbx 0movcx 8s pushcs bx addbx 2loopsmovbx 0movcx 8s0 popcs bx addbx 2loops0movax 4c00hint21hcodesgendsendstart AssemblyLanguage dw操作的深层含义 定义数据的最终目的 通过定义取得一定容量的内存空间dw的作用 定义数据 开辟内存空间 AssemblyLanguage 将数据 代码 栈放入不同的段中 在代码段中使用数据和栈 存在的问题 程序显得混乱如果数据 栈和代码需要的空间超过64KB 就不能放在一个段中 解决 定义多个段 将数据 栈和代码放到不同的段中 AssemblyLanguage 程序的说明 定义多个段的方法 和定义代码段的方法一样对段内数据的引用段名相当于一个标号 代表了段地址 偏移地址看数据在段中的具体位置代码段 数据段 栈段是人为的安排 AssemblyLanguage 本章总结 在代码段中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论