网站大量收购独家精品文档,联系QQ:2885784924

微机原理汇编语言.ppt

  1. 1、本文档共79页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 汇编语言程序设计 本章内容 汇编语言源程序的格式 伪操作命令 DOS及BIOS功能调用  计算机程序设计语言的演变 1. 机器语言 直接用机器指令来编制计算机程序的方法。 2. 汇编语言 可以用助记符来表示指令的操作和操作数,也可以用标号和符号来代替地址、常量和变量。 3. 高级语言 更接近于人们的自然语言和习惯的教学语言来描述算法的执行过程,从而使编写的过程更加直观和简练。 为什么要用汇编语言 汇编语言非常接近机器语言程序,通过编制汇编语言程序,可以清楚地了解计算机的工作过程。 现在的微机系统中,底层的一些功能仍然靠汇编语言程序来实现。 汇编语言程序的效率通常高于高级语言程序。 举例 data SEGMENT msg DB Hello, World!$ data ENDS code SEGMENT ASSUME CS : code , DS : data MAIN PROC NEAR start: MOV AX , data MOV DS , AX LEA DX , msg MOV AH , 9h INT 21h MOV AX , 4C00h INT 21h MAIN ENDP code ENDS END start 3.2.1 分析1—分段结构 分析2 代码段开头执行了一次功能号09H的21号DOS中断,用于在屏幕上显示字符串。关于DOS功能调用,后文将有详细解释。 此处先列出功能号09H的21号DOS中断的相关资料: 汇编语言开发过程 开发工具 (了解) X86+Windows平台下常用的汇编编译器有: Microsoft公司的 MASM Borland公司的 TASM 开源社区的 NASM MASM是微软推出的宏汇编语言,自发布以来已有多次版本更新,下页表格中列出了几个较为典型的版本。 注: 容易与之混淆的是MASM32,它是Steve Hutchesson以个人名义发布、基于MASM而构建的软件包。其版本号和MASM的版本号是不同的,比如MASM32V8使用的汇编编译器是MASM6。MASM32的最新版本为MASM32V12。 MASM版本历史(了解) 开发工具 (了解) Masm5适合进行DOS程序开发; Masm6以后的版本开始支持Win32程序开发。 (微软官方发布的Masm6所附的link.exe是Segmented Executable Linker,只能开发DOS程序;要进行Win32开发必须配备Incremental Linker,该类型的link.exe可以从Visual Studio中获取。开发Win32程序推荐使用MASM32开发包) 开发DOS程序的Masm下载地址: Masm5.00 [罗云彬的编程乐园] 30:22366/view.asp?file=51 Masm615 For Dos [aogo汇编小站] /downpage.asp?table=softid=116 开发步骤演示 (了解) 使用MASM 5.0 开发步骤演示 (了解) 使用MASM 6.15 For DOS 3.2.2 语句的类型 汇编语言源程序中的语句主要有以下两种类型: 指令性语句 指示性语句 指令性语句主要由CPU指令组成,对应实际的机器指令; (比如“Hello例”中的 MOV DS , AX ) 指示性语句又称伪操作语句,主要由伪操作指令组成。 (比如“Hello例”中的 code SEGMENT ) 语句的组成 汇编语言的语句可以有1~4个组成部分,如下所示: [名字] 操作码/伪操作码 [操作数] [;注释] 带方括号的部分表示可选项。以“Hello例”中的几条语句为例: 3.2.3 语句的组成—名字 名字 在指令性语句中,名字是一个标号,实际上就是指令的符号地址。比如“start : MOV AX , data”中的 start: 。并非每条指令性语句都必须有标号。但如果有了这个标号,程序中其他地方就可引用这个标号,比如执行跳转或者CALL调用。指令性语句中的标号后面通常有一个冒号。 标号有三种属性:段、偏移量和类型。 段属性是定义标号的程序段的段地址。 偏移量表示标号所在段的起始地址到定义该标号的地址之间的字节数。 标号的类型有两种:NEAR和FAR。前者可以在段内被引用,地址指针为两个字节;后者可以在其他段中被引用,地址指针为4个字节。 语句的组成—名字 在指示性语句中,名字可以是变量名、段名、过程名。 比如“He

文档评论(0)

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

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

1亿VIP精品文档

相关文档