微机原理-(第四章)-13.11.24题稿.ppt

  1. 1、本文档共57页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 汇编语言程序设计;4.1 汇编语言的程序格式;1.源程序的一般格式;例4-1 编写一个两字相加的程序。 DSEG SEGMENT ;定义数据段 DATA1 DW 1234H ;定义被加数 DATA2 DW 5678H ;定义加数 DSEG ENDS ;数据段结束 ESEG SEGMENT ;定义附加段 SUM DW 2 DUP(?) ;定义存放结果区 ESEG ENDS ;附加段结束 CSEG SEGMENT ;定义代码段 ;下面的语句说明程序中定义的各段分别用哪个段寄存器寻址 ASSUME CS:CSEG,DS:DSEG,ES:ESEG START: MOV AX,DSEG ;START为程序开始执行的启动标号 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 ;源程序结束;2.源程序的结构特点;4.1.2汇编语言语句类型及格式;汇编语言的格式 由汇编语言编写的源程序是由许多语句(也可称为汇编指令)组成的。每个语句由1~4个部分组成,其格式是: [标号] 指令助记符 [操作数] [;注解] 标识符:给指令或某一存储单元地址所起的名字。可由下列字符组成: 字母:A ~ z ; 数字:0 ~ 9 ; 特殊字符:?、· 、@、一、$ 。 数字不能作标识符的第一个字符,而圆点仅能用作第一个字符。标识符最长为31个字符。当标识符后跟冒号时,表示是标号。它代表该行指令的起始地址;当标识符后不带冒号时,表示变量;伪指令前的标识符不加冒号。 指令助记符:表示不同操作的指令,可以是8086的指令助记符,也可以是伪指令。 操作数: 指令执行的对象。依指令的要求,可能有一个、两个或者没有。 注解:该项可有可无,是为源程序所加的注解,用于提高程序的可读性。 ;4.1.3 汇编语言的数据与表达式;汇编语言中的常数 汇编语言中的常数可以分数值常数和字符串常数两类。数值常数按其基数的不同,可有二进制数、八进制数、十进制数、十六进制数等几种不同的表示形式,汇编语言中采用不同的后缀加以区分。 B:表示二进制数。例如。 D:表示十进制数。例如,278D或278。 Q:表示八进制数。例如,567Q,263Q。 H:表示十六进制数。例如,9AH,5678H。 字符串常数是由单引号括起来的一串字符。例如: ‘THIS IS A STUDENT!’ ‘12345’ 要指出的是,此处的’12345’其值并非是十进制数12345,而是代表它们所对应的ASCII码,即31H,32H,33H,34H,35H。 ;汇编语言中的运算符和表达式 在表达式中,运算符充当着重要的角色。8086宏汇编有算术运算符、逻辑运算符、关系运算符、数值回送操作符和属性操作符共5种。 数值回送(Value_returning)操作符可以把一些特征或存储器地址的一部分作为数值回送。共有5个:SEG(求段基值)、OFFSET(求偏移量)、TYPE(求变量类型)、LENGTH(求字节数)和SIZE(求字节数)。其中LENGTH和SIZE只对数据存储器地址操作数有效。 属性操作符可以用来建立和临时改变变量或标号的类型以及存储器操作数的存储单元类型,而忽略当前的属性。共有6个:PTR、段属性前缀、SHORT、THIS、HIGH和LOW。 ;汇编语言中的运算符和表达式

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档