汇编语言程序设计汇编语言

汇编语言程序设计汇编语言

ID:39513423

大小:307.31 KB

页数:42页

时间:2019-07-04

汇编语言程序设计汇编语言_第1页
汇编语言程序设计汇编语言_第2页
汇编语言程序设计汇编语言_第3页
汇编语言程序设计汇编语言_第4页
汇编语言程序设计汇编语言_第5页
资源描述:

《汇编语言程序设计汇编语言》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章汇编语言程序设计1本章讲述:4.1汇编语言程序格式4.2伪指令语句4.3DOS系统功能调用和BIOS功能调用4.4程序设计方法4.5宏汇编和条件汇编28086汇编语言程序的一个例子MY_DATASEGMENT;定义数据段SUMDB?;为符号SUM保留一个字节MY_DATAENDS;定义数据段结束MY_CODESEGMENT;定义码段ASSUMECS:MY_CODE,;规定CS和DS的内容DS:MY_DATAPORT_VALEQU3;端口的符号名GO:MOVAX,MY_DATA;DS初始化为MY_DATAMOVDS,AXMOVS

2、UM,0;清SUM单元CYCLE:CMPSUM,100;SUM单元与100相比较JNANOT_DONE;若未超过,转至NOT_DONEMOVAL,SUM;若超过,把SUM单元的内容OUTPORT_VAL,AL;通过AL输出HLT;然后停机NOTDONE:INAL,PORT_VAL;未超过时,输入下一个字节ADDSUM,AL;与以前的结果累加JMPCYCLE;转至CYCLEMYCODEENDS;码段结束ENDGO;整个程序结束3由上例看出8086汇编的一个语句行由以下4个部分组成:标号(或名称)操作码操作数;注释各部分之间至少要用一个

3、空格作为间隔。IBM宏汇编对于语句行的格式是自由的,但如果写成格式化就便于阅读,建议读者按格式化来写语句行。另外,IBM宏汇编并不要求一个语句只能写一行,一个语句可以有后续行,规定以字符“&”作为后续行的标志。44.1汇编语言程序格式4.1.1指令性语句与伪指令(指示性)语句指令性语句标号:指令助记符操作数,操作数;注释伪指令语句名字伪指令助记符操作数,操作数;注释54.1.2数据项常数、变量和标号常数没有任何属性的纯数值。在汇编期间,它的值已能完全确定,在程序运行中.值也不会发生变化。它可以有以下几种类型:二进制数,八进制数,十进

4、制数,十六进制数实数:它由整数、小数和指数3部分组成,字符串常数:用引号括起来的一个或多个字符。6变量代表存放在某些存储单元的数据,这些数据在程序运行期间随时可以修改。变量的属性段属性(SEG):表示变量存放在哪一个逻辑段中(即变量所在段的段基值);偏移量属性(OFFSET):表示变量在逻辑段中离段起始点的字节数;类型属性(TYPE):表示变量占用存储单元的字节数。7标号标号是一条指令目标代码的符号地址,它常作为转移指令(含子程序调用指令)的操作数。段属性(SEG)、偏移量(OFFSET)、距离属性(NEAR、FAR)84.1.3表

5、达式表达式(Expressions)是由运算对象及运算符成。粗略地说,一个表达式是一个由操作数和运算符组合的序列,在汇编时它能产生一个值。92.运算符(Operators)IBM宏汇编通常有以下几种运算符:①算术运算符(ArithmeticOperators);②逻辑运算符(LogicalOperators);③关系运算符(RelationalOperators);④数值返回运算符(AnalyticOperators);⑤修改属性运算符(SyntheticOperators);⑥其它运算符10(1)算术运算符这是读者十分熟悉的运算符

6、--+(加)、-(减)、*(乘)、/(除)运算符。另一个算术运算符是MOD(求余),它产生除法以后的余数。因此19/7是2(商是2),而19MOD7是5(余数是5)。算术运算符应用于数字操作数,结果也是数字的。当算术运算符应用于存储器即地址操作数时其规则就更加严格:只有当结果有明确的、有意义的物理解释时,这些运算才是有效的。11(2)逻辑运算符按位操作的逻辑运算符有:AND(与)、OR(或)、XOR(异或)和NOT(非)。逻辑运算的操作数只能是数字的,而且结果是数字的。存储器地址操作数不能进行逻辑运算。注意:AND、OR、XOR和N

7、OT,也是8086指令的助记符。但是,作为IBM宏汇编的运算符是在程序汇编时计算的。而作为指令的助记符,则是在程序执行时计算的。12(3)关系运算符在IBM宏汇编中有以下关系运算符:①相等EQ(Equal);②不等NE(NotEqual);③小于LT(LessThan);④大于GT(GreaterThan);⑤小于或等于LE(LessThanorEqual);⑥大于或等于GE(GreaterThanorEqual)。13(4)数值返回运算符分析运算符可以把存储器操作数分解为它的组成部分,如它的段值SEG、段内偏移量OFFSET、类型

8、TYPE、长度LENGTH和大小SIZE。(5)属性修改运算符属性修改运算符可以由已经存在的存储器操作数生成一个段值与偏移量相同、而类型不同的新的存储器操作数。如段前缀、PTR、THIS、SHORT、HIGH/LOW等。14(6)其它

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。