第4章汇编语言程序设计课件.ppt

上传人(卖家):晟晟文业 文档编号:3861210 上传时间:2022-10-19 格式:PPT 页数:88 大小:390.07KB
下载 相关 举报
第4章汇编语言程序设计课件.ppt_第1页
第1页 / 共88页
第4章汇编语言程序设计课件.ppt_第2页
第2页 / 共88页
第4章汇编语言程序设计课件.ppt_第3页
第3页 / 共88页
第4章汇编语言程序设计课件.ppt_第4页
第4页 / 共88页
第4章汇编语言程序设计课件.ppt_第5页
第5页 / 共88页
点击查看更多>>
资源描述

1、 操作数操作数可能放在存储器中可能放在存储器中,这就涉及一个地址问这就涉及一个地址问题。程序中遇到转移指令或调用指令题。程序中遇到转移指令或调用指令,涉及地址转涉及地址转移移,若采用具体地址就不很方便若采用具体地址就不很方便,一旦有错一旦有错,改动就改动就很麻烦。于是人们采用很麻烦。于是人们采用标号标号或或符号符号来代替地址来代替地址,例:例:LP1LP1:LOOP LOOPLP1LP1 汇编语言汇编语言是用助记符、符号地址以及标号等符号是用助记符、符号地址以及标号等符号书写的程序。书写的程序。用汇编语言编写的程序叫用汇编语言编写的程序叫源程序源程序。指令除了指令除了操作码操作码以外以外,还有

2、一个操作数问题。还有一个操作数问题。汇编语言汇编语言 源程序源程序汇编汇编目的程序目的程序 汇编程序汇编程序主要的汇编程序:主要的汇编程序:MASM、TASM 汇编语言源程序需翻译成机器语言汇编语言源程序需翻译成机器语言,变成可变成可执行文件执行文件,机器才能执行机器才能执行,这个翻译过程叫这个翻译过程叫汇编汇编。汇编语言汇编语言是面向具体计算机硬件的语言是面向具体计算机硬件的语言,和和机器密切相关。它最大缺点是机器密切相关。它最大缺点是可读性差可读性差,编程效编程效率低率低。高级语言高级语言编程时不需要对机器指令系统有编程时不需要对机器指令系统有深入了解。深入了解。可读性强可读性强,功能强。

3、功能强。为什么要用汇编语言为什么要用汇编语言?汇编语言编写的程序汇编语言编写的程序节省内存节省内存,执行速度快执行速度快,并为用户直接控制对象提并为用户直接控制对象提供了手段。故供了手段。故实时性实时性要求很高的程序多采用汇编要求很高的程序多采用汇编语言程序。语言程序。4.1.1 汇编语言源程序的结构汇编语言源程序的结构 源程序源程序通常由一个或几个程序模块组成通常由一个或几个程序模块组成,每每个个模块模块包括数据段、堆栈段和若干代码段。包括数据段、堆栈段和若干代码段。代码代码段段可有若干个过程可有若干个过程,过程过程中的语句分为两类:中的语句分为两类:指令性语句指令性语句,其格式为:其格式为

4、:标号标号:(前缀前缀)指令助记符指令助记符 操作数;注释操作数;注释 指示性语句指示性语句,又叫又叫伪指令伪指令,其格式为:其格式为:名字名字 伪指令伪指令 操作数操作数;注释;注释 这两种语句的差别:这两种语句的差别:在在形式形式上:带不带冒号上:带不带冒号,是否可转向它是否可转向它.在在本质本质上:汇编时能否形成对应的机器码上:汇编时能否形成对应的机器码.指令性语句指令性语句是计算机可执行的是计算机可执行的,而而指示指示性语句性语句不能执行不能执行,用来定义变量用来定义变量,分配存储分配存储单元单元,指示程序开始和结束等。指示程序开始和结束等。3 3)操作数)操作数由寄存器、存储单元、数

5、据项由寄存器、存储单元、数据项或其表达式构成。汇编时一个表达式得到一或其表达式构成。汇编时一个表达式得到一个值。个值。4 4)注释)注释用来说明程序或语句的功能用来说明程序或语句的功能,用分用分号号“;”作为注释开始。作为注释开始。其中名字和注释视情况而定其中名字和注释视情况而定,可有可无可有可无.2 2)操作码)操作码是一个助记符是一个助记符,它可以是指令、它可以是指令、伪指令伪指令(又叫伪操作又叫伪操作)或宏指令或宏指令。4.1.3 4.1.3 数据项及表达式数据项及表达式变量变量标号标号48454C4C4F00013600u例:例:BUFFER DW 3,4,$+3BUFFER DW 3

6、,4,$+3u设设BUFFERBUFFER的偏移地址为的偏移地址为00880088H,H,则汇编后如则汇编后如下图所示:下图所示:这两个伪指令总是这两个伪指令总是成对出现成对出现,二者前面,二者前面的的段名一致段名一致。二者之间的部分,对数据段、。二者之间的部分,对数据段、附加段及堆栈段,一般是符号、变量定义附加段及堆栈段,一般是符号、变量定义等伪指令。对于代码段则是指令及伪指令。等伪指令。对于代码段则是指令及伪指令。此外,还必须明确段和段寄存器的关系,此外,还必须明确段和段寄存器的关系,这可由这可由ASSUMEASSUME语句语句来实现。来实现。SEGMENT 和和 ENDS汇编语言程序设计

7、汇编语言程序设计1、分析问题、建立数学模型、分析问题、建立数学模型 2、确定数据结构及算法、确定数据结构及算法3、绘制程序流程图、绘制程序流程图4、内存空间、寄存器分配、内存空间、寄存器分配5、编写、编写源程序,扩展名为源程序,扩展名为ASM6、用汇编程序编译,形成、用汇编程序编译,形成目标文件,目标文件,扩展名为扩展名为OBJ。7、进行连接,形成、进行连接,形成EXE可执行文件可执行文件。8、对程序进行调试。、对程序进行调试。程序设计步骤程序设计步骤 汇编汇编语言源语言源程序程序t1.asm目标程目标程序(二序(二进制)进制)t1.obj可执行可执行程序程序t1.exe编编译译连连接接 连接

8、连接程序程序 编编 译译 程程 序序运运行行编辑编辑源程源程序输序输入、入、修改修改出出错错 出出错错 出出错错 第一步:编写和输入程序第一步:编写和输入程序 将程序输入到计算机,此程序称为源将程序输入到计算机,此程序称为源文件,为文本文件,扩展名为文件,为文本文件,扩展名为.ASM。因此因此可以用任何编辑软件可以用任何编辑软件输入和修改源程序。输入和修改源程序。可以使用可以使用EDIT、PE、SK等任何编辑等任何编辑软件将程序输入到计算机。软件将程序输入到计算机。第二步:编译源程序第二步:编译源程序 将源程序编译生成目标文件,扩展名将源程序编译生成目标文件,扩展名为为.OBJ。如源程序有错,

9、则不能生成目标程如源程序有错,则不能生成目标程序,根据错误提示,用编辑软件修改源程序。序,根据错误提示,用编辑软件修改源程序。然后再次编译,直至生成目标文件。然后再次编译,直至生成目标文件。可根据需要,同时产生列表文件可根据需要,同时产生列表文件.LST和和交叉索引文件交叉索引文件.CRF。汇编软件有汇编软件有MASM、TASM、ASM等。等。第三步:连接第三步:连接 将目标文件进行连接,生成可执行文件,将目标文件进行连接,生成可执行文件,扩展名为扩展名为.EXE。连接软件为连接软件为LINK。第四步:运行第四步:运行 运行可执行文件,查看结果是否正确,运行可执行文件,查看结果是否正确,如结果

10、不对,则需修改源程序,然后再编译、如结果不对,则需修改源程序,然后再编译、连接、运行,重复以上步骤,直到得出正确连接、运行,重复以上步骤,直到得出正确结果。可在命令行下执行,也可在调试软件结果。可在命令行下执行,也可在调试软件环境下执行。环境下执行。可以进行调试,如可以进行调试,如单步运行、设置断点、单步运行、设置断点、监视表达式监视表达式等。等。调试软件有调试软件有DEBUG、TURBO DEBUGGER、CODEVIEW等。等。一、一、MASM的使用的使用(ex:tt1.asm)1、提问方式、提问方式 2、命令方式、命令方式二、二、LINK的使用的使用 1、提问方式、提问方式 2、命令方式

11、、命令方式三、程序的执行三、程序的执行 在提示符下输入可执行文件名,然后回车。在提示符下输入可执行文件名,然后回车。四、程序的调试四、程序的调试 DEBUG软件的使用。软件的使用。IDE86集成环境的使用集成环境的使用 1、EDIT编辑软件的使用编辑软件的使用 2、COMPILE的使用的使用 为为TASM3.1汇编软件汇编软件 3、LINK的使用的使用 为为Turbo Link2.0连接软件连接软件 4、DEBUG的使用的使用编辑软件编辑软件不能改变不能改变输入用户源文件名,输入用户源文件名,扩展名扩展名ASM控制参数:控制参数:/zi不不能改变!能改变!输入用户源文件名,输入用户源文件名,扩

12、展名扩展名ASM 如编译产生错误,会在如编译产生错误,会在“error messages”显示显示错误指令的行号及错误类型,只有没有错误后才能产错误指令的行号及错误类型,只有没有错误后才能产生生OBJ文件,才能进行下一步文件,才能进行下一步“Link”的操作。的操作。控制参数:控制参数:/v不能改变!不能改变!输入用户文件名,输入用户文件名,扩展名扩展名OBJ 只有连接没有错误后才能产生只有连接没有错误后才能产生EXE文件,才能进文件,才能进行下一步行下一步“Debug”的操作。的操作。控制参数:控制参数:/v不能改变!不能改变!输入用户文件名,输入用户文件名,扩展名扩展名EXE选择选择“Vi

13、ew”“CPU”,可观察寄存器和标志位。,可观察寄存器和标志位。寄存器寄存器标志寄存器标志寄存器存储器内容存储器内容程序及代码程序及代码观看存储区内容方法观看存储区内容方法:1、在、在“View”菜单中选菜单中选“Dump”2、右键单击存储区,在弹出菜单中,点击、右键单击存储区,在弹出菜单中,点击“Goto”。在对话框中输入要查看的存储区的段寄存器在对话框中输入要查看的存储区的段寄存器及偏移地址。如及偏移地址。如es:0,见下图所示。,见下图所示。程序的调试方法程序的调试方法 1、全速执行(、全速执行(F9,“RUN”菜单中菜单中)2、单步执行(、单步执行(F7、F8,“RUN”菜单中菜单中)

14、3、设置断点(、设置断点(F2,“Breakpoints”菜单中菜单中)4、观察寄存器、标志位的内容(、观察寄存器、标志位的内容(“View”菜单中菜单中)5、查看存储器的内容(、查看存储器的内容(DUMP,“View”菜单中菜单中)6、查看运行结果(、查看运行结果(Alt+F5,“Window”菜单中菜单中)汇编程序开发集成环境与汇编语言程序设计汇编程序开发集成环境与汇编语言程序设计 实验一实验一上机内容与要求上机内容与要求一、学习并掌握一、学习并掌握IDE86集成开发环境的使用。集成开发环境的使用。各种功能下主菜单下的主要功能的使用。各种功能下主菜单下的主要功能的使用。编辑、编译、连接、运

15、行各步骤的使用。编辑、编译、连接、运行各步骤的使用。编辑编辑:源程序的输入、修改。:源程序的输入、修改。编译编译:常见编译出现的语法错误的修改。:常见编译出现的语法错误的修改。连接连接:形成可执行文件:形成可执行文件 运行运行:全速运行、断点设置、单步运行、单步跟踪;:全速运行、断点设置、单步运行、单步跟踪;观察寄存器、标志寄存器的值;观察寄存器、标志寄存器的值;观察数据存储器中的数据;观察数据存储器中的数据;二、二、P165 例例4-8 输入该程序,编译、连接、运行输入该程序,编译、连接、运行以以单步单步形式观察程序的执行过程形式观察程序的执行过程(1)执行每条指令后,寄存器)执行每条指令后

16、,寄存器AX、CX、SI及标志位及标志位CF的值。的值。(2)查看以)查看以TABLE开始的存储器单元中的内容。开始的存储器单元中的内容。三、时间安排(地点:三、时间安排(地点:7号楼号楼218)(软件实验共(软件实验共3次:第次:第10、11、13周)周)01210605班班 周二周二 第第1大节大节01210606班班 周三周三 第第1大节大节01220601班班 周一周一 第第4大节大节01220602班班 周一周一 第第3大节大节用户定义的输入字符串的缓冲区格式N1 N20D字符串开始回车符实际键入的字符数(不包括回车符)用户定义的最大键入字符数用 户 定 义 的 输 入 字 符 串 的 缓 冲 区 格 式N 1N 20 D字 符 串 开 始回 车 符实 际 键 入 的 字 符 数(不 包 括 回 车 符)用 户 定 义 的 最 大 键 入 字 符 数 入口参数:入口参数:AH=4CH 中断号:中断号:21H MOV AH,4CH;或或 MOV AX,4C00H INT 21H(3)返回)返回DOS

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第4章汇编语言程序设计课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|