第4章数据传送指令.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章数据传送指令

第4章 数据传送指令 罗文坚 中国科大 计算机学院 /~wjluo/mcps/ 本章内容 MOV指令回顾 PUSH/POP指令 装入有效地址 数据串传送 其他数据传送指令 段超越前缀 汇编程序详述 Assemble Language 汇编语言是机器语言的符号化描述。 一种面向机器的程序设计语言,通常是为特定计算机或计算机系列专门设计的。 利用机器指令的助记符、符号地址和标号来编写程序。 基本语句是机器指令系统中的指令。 汇编语言程序设计的优点和缺点 优点 可充分利用机器的硬件功能和结构特点,加快程序的执行速度,减少目标程序所占用的存储空间。 常用来编写实时控制程序、实时通信程序,有时也用来编制某些系统软件程序。 缺点 编程效率低(与人们描述计算过程的需要差距大)。 与机器硬件的具体结构联系过于紧密。 在一种结构的机器上开发的程序极难移植到另一种不同结构的机器上去。 Assemble Language 用汇编语言编写的程序不能由机器直接执行,而必须经汇编程序翻译成机器语言程序。 汇编:汇编语言源程序由ASM.exe生成目标代码(*.obj,可能有多个) 连接:由LINK.exe将.obj连接成可执行程序。 思考:什么是汇编?什么是汇编语言? 汇编语言程序的开发过程 检查源程序,测出源程序中的语法错误,并给出出错信息; 展开宏指令。 产生目标文件(.OBJ)。 同时,也可给出: 列表文件(同时列出汇编语言源程序和机器语言目标程序的文件,称之为.LST文件); 交叉索引文件(列出程序中使用的符号、变量和标号以及引用情况,称之为.CRF文件或.SBR文件)。 编译过程的目的 汇编示意图 汇编程序分两种: 一种是基本汇编(ASM.EXE)。 一种是宏汇编(MASM.EXE),宏汇编功能比较强。 连接示意图 汇编之后生成的OBJ文件必须经过链接过程,才能成为扩展名.EXE的可执行文件。 链接的过程就是调用连接程序(LINK.EXE),对OBJ文件进行定位、链接,最后生成扩展名为EXE的可执行文件。如果需要,也可生成MAP文件(地址分配文件)。 LINK /m *.obj .lst文件 汇编表:源程序、目标代码、地址、错误信息 段(组)表:源程序中各段的名字、大小及其特征。 符号表:定义或引用的全部标号、变量、符号的属性值及其特征等。 .map文件 地址分配文件(.map)用于描述文件中各段的浮动起始地址、结束地址、占用空间、段名和‘类别’,还列出了各模块中所定义的公共符号及其偏移地址,主要用于程序调试和资料归档。 调试程序 DEBUG PROG.EXE u (反汇编) t = 地址 指令条数 常用命令: /~wjluo/mcps/resource/dos/debug.pdf 集成开发环境 例如,MASM32,Visual C++ 汇编语言程序开发中的相关文件 Handwritten source program EDIT Editor program MASM assembler program LINK linker program DEBUG debug program Final debugged run module PROG1.LST PROG1.OBJ PROG1.CRF Other .OBJ files Libraries PROG1.MAP 汇编语言的书写格式 汇编语言的书写格式有两种: 针对一种特定的汇编程序的模型 简化段定义的格式 完整的段定义方式 可完全控制汇编的全过程,并且可用于所有的汇编程序。 关于MASM MASM:Microsoft Macro Assembler MASM的版本 5.0及其以前:MS-DOS;5.x~6.0:MS-DOS和OS/2 6.1x:Windows,MASM 与 LINK 整合为 ML。 MASM.EXE和LINK.EXE,ML.EXE,ML64.EXE MASM 6.15以后,微软不在单独发布MASM的开发包,而是包含在Visual Studio里面。例, …Visual Studio 9.0\VC\bin\ml.exe. MASM与IDE Visual Studio,MASM32,WinAsm Studio,…… 写Windows汇编程序时用IDE比较合适。 MASM源程序的书写格式 完整段定义的格式 VS 简化段定义的格式 关于C程序与目标文件 汇编程序语法 常量、标识符和表达式 伪指令 存储器的组织 程序举例 常量 数字常量 1001B ,1037Q ,166D(或166),6AH 字符常量 字符:‘A’, 字符串:’abcd’ 符号常量 COM_REG EQU 26H COMREG=62H MOV AX, COMREG等价于MOV AX, 62H

文档评论(0)

busuanzi + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档