第六章+包含多个段的程序

第六章+包含多个段的程序

ID:46832806

大小:350.50 KB

页数:16页

时间:2019-11-28

第六章+包含多个段的程序_第1页
第六章+包含多个段的程序_第2页
第六章+包含多个段的程序_第3页
第六章+包含多个段的程序_第4页
第六章+包含多个段的程序_第5页
资源描述:

《第六章+包含多个段的程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第六章包含多个段的程序本章要点在代码段中定义数据数据定义伪操作在代码段中定义栈将数据、代码、栈放入不同的段AssemblyLanguage在代码段中定义数据问题:编程计算以下8个数据的和,结果存在ax寄存器中0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h分析:要想实现循环计算,必须将这些数据存储到一组地址连续的内存单元中。这段内存空间在哪里?如何将这些数据存储到内存单元中?解决:在程序中定义我们要处理的这些数据,使之经编译连接后,成为可执行文件的一部分,从而在程序加载的时候获得内存空间。AssemblyLan

2、guage数据的定义dw:defineword格式:[变量名]dw数据1,数据2,…功能:定义的是字型数据说明:变量名可有可无,表明所定义的第一个字节的偏移地址举例:data_worddw100,100hdb:definebyte格式:[变量名]db数据1,数据2,…功能:定义的是字节型数据举例:data_bytedb10,10hAssemblyLanguage问题的解决:assumecs:codecodesegmentdw0123H,0456H,0789H,0abcH,0defH,0fedH,0cbaH,0987Hmovbx,0movax,0movcx,

3、8s:addax,cs:[bx]addbx,2loopsmovax,4c00hint21hcodeendsendAssemblyLanguage如何访问定义的数据?要访问定义的数据,必须知道数据的存放位置定义的数据的段地址就是代码段的段地址;定义数据的偏移地址就是0;上面的程序生成可执行文件后,debug出现的问题AssemblyLanguage定义数据后出现的问题程序入口不是程序要执行的第一条指令解决办法:重新设置程序的入口地址程序入口的设置:start:程序的第一条指令::endstartAssemblyLanguage改进后的程序assumecs:c

4、odecodesegmentdw0123H,0456H,0789H,0abcH,0defH,0fedH,0cbaH,0987Hstart:movbx,0movax,0movcx,8s:addax,cs:[bx]addbx,2loopsmovax,4c00hint21hcodeendsendstartAssemblyLanguage在代码段中使用栈问题:完成下面的程序,利用栈,将程序中定义的数据逆序存放、assumecs:codesgcodesgsegmentdw0123H,0456H,0789H,0abcH,0defH,0fedH,0cbaH,0987H?

5、codesgendsendAssemblyLanguage问题的解决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,4c00hint21hcodesgendsendstartAssemblyL

6、anguagedw操作的深层含义定义数据的最终目的:通过定义取得一定容量的内存空间dw的作用:定义数据;开辟内存空间。AssemblyLanguage将数据、代码、栈放入不同的段中在代码段中使用数据和栈,存在的问题:程序显得混乱如果数据、栈和代码需要的空间超过64KB,就不能放在一个段中。解决:定义多个段,将数据、栈和代码放到不同的段中。AssemblyLanguage程序的说明定义多个段的方法:和定义代码段的方法一样对段内数据的引用段名相当于一个标号,代表了段地址。偏移地址看数据在段中的具体位置代码段、数据段、栈段是人为的安排。AssemblyLangu

7、age本章总结在代码段中定义数据数据定义伪操作在代码段中定义栈将数据、代码、栈放入不同的段AssemblyLanguage作业检测点6.1AssemblyLanguage下课了。。。追求休息一会儿。。。AssemblyLanguage

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。