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

微机原理课件-第4章.ppt

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

第四章 汇编语言程序设计 汇编语言指令到机器指令的示意图 4.1.1 汇编语言源程序的结构 数据段名 SEGMENT …… 数据段名 ENDS 附加数据段名 SEGMENT …… 附加数据段名 ENDS 堆栈段名 SEGMENT …… 堆栈段名 ENDS 代码段名 SEGMENT …… 代码段名 ENDS END 下面举例来加以说明: 这是一个两个字相加的程序 DSEG SEGMENT ;定义数据段 DATA1 DW 0F865H ;定义被加数 DATA2 DW 360CH ;定义加数 DSEG ENDS ;数据段结束 ESEG SEGMENT ;定义附加段 SUM DW 2 DUP(?) ;定义存放结果区 ESEG ENDS ;附加段结束 CSEG SEGMENT ;定义代码段 ASSUME CS:CSEG,DS:DSEG,ES:ESEG START: MOV AX,DSEG MOV DS,AX ;初始化DS MOV AX,ESEG MOV ES,AX ;初始化ES LEA SI,SUM ;存放结果的偏移地址送SI MOV AX,DATA1 ;取被加数 ADD AX,DATA2 ;两数相加 MOV ES:[SI],AX ;和送附加段的SUM单元中 HLT CSEG ENDS ;代码段结束 END START ;源程序结束 总结: 1、标号域 语句中的标号是一个标示符,表示一条指令所在的存储单元的地址,或叫符号地址。 2、操作码域:所有指令的助记符、伪指令等都在操作码域。 3、操作数域:操作数以逗号间隔。操作数可以是常数、寄存器、标号、变量、表达式。 4、注释域:说明。 标号和操作码之间用冒号,或空格;操作码和操作数之间用空格;操作数和注释之间用分号。 4.1.2 汇编语言语句类型 语句类型:指令性语句、指示性语句 指令性语句由指令组成、CPU可以执行; 指示性语句用来告诉编译程序MASM如何对源程序进行汇编,它不生成目标代码,不由CPU执行,所以常称为伪操作指令; 例如:START: MOV AX,DATA DATA DB 11H,12H,13H 区别:START是指令性语句的标号,它是指令的符号地址,后边通常加上“:”; DATA是指示性语句的名字,名字通常表示变量名、段名和过程名,后边不加“:”指示性语句中的操作数可以有多个,相互之间用逗号分开; 4.1.3 数据项及表达式 操作数可以是寄存器、存储器单元或数据项。存储器可以按字节、字、双字Double Word、四字Quad Word、十字节操作。而数据项又可以是常量、标号、变量或表达式。 1、常量:分为数字常数和字符串常数。 B:二进制 D:十进制,可以省略 H:十六进制(以字母开始的16进制数,要在前面加一个0) 字符串常数用‘’单引号括起来,编译程序将其翻译成ASCII码。 2、标号Label 指令的标号由程序员确定: 不能与指令助记符或伪指令重名; 不允许由数字打头; 字符个数不超过31个; 标号代表存放一条指令的存储单元的地址; 标号可以作为程序转移、过程调用、循环控制等指令的操作数; 标号有三种属性:段、偏移量、类型 偏移量是一个16位的无符号数; 类型有两种:近过程属性NEAR(2字节)和远过程属性FAR(4字节); DELAY PROC PUSH BX PUSH CX MOV BL,2 NEXT: MOV CX,2801H W20ms: L

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档