《汇编语言程序设计》-相伟-电子教案【第2章程序设计基础】

《汇编语言程序设计》-相伟-电子教案【第2章程序设计基础】

ID:35569576

大小:219.00 KB

页数:114页

时间:2019-03-29

《汇编语言程序设计》-相伟-电子教案【第2章程序设计基础】_第1页
《汇编语言程序设计》-相伟-电子教案【第2章程序设计基础】_第2页
《汇编语言程序设计》-相伟-电子教案【第2章程序设计基础】_第3页
《汇编语言程序设计》-相伟-电子教案【第2章程序设计基础】_第4页
《汇编语言程序设计》-相伟-电子教案【第2章程序设计基础】_第5页
资源描述:

《《汇编语言程序设计》-相伟-电子教案【第2章程序设计基础】》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、21世纪高等院校规划教材汇编语言程序设计相伟主编 徐小平李珍香副主编中国水利水电出版社第二章程序设计基础本章学习目标通过本章学习,读者应该掌握以下内容:汇编语言源程序结构及基本概念各种寻址方式常用伪指令的格式、功能常用I/O功能调用的用法2.1汇编语言源程序结构2.1.1汇编语言源程序结构及分析初学程序设计最有效的方法是阅读源程序并上机调试。通过阅读程序可以掌握程序的一般结构,学习实现程序功能的经典算法。通过对程序进行上机调试,逐渐掌握指令的语法格式、功能,避免编写源程序时出现常见的语法错误,同时训练调试技巧。例2-1显示信息“How

2、doyoudo?”DATASEGMENTSTRDB“Howdoyoudo?$”DATAENDSSTACKSEGMENTSTACKDB200DUP(?)STACKENDSCODESEGMENTASSUMEDS:DATA,SS:STACK,CS:CODESTART:MOVAX,DATAMOVDS,AXLEADX,STRMOVAH,9INT21HMOVAH,4CHINT21HCODEENDSENDSTART例2-2将内存缓冲区中以BUFA开始的一组字数据传送到BUFB开始的内存区。DATASEGMENTBUFADW367BH,2845H,0

3、A78H,9DE3H,0F6BH,6532HCOUNTEQU($-BUFA)/2BUFBDWCOUNTDUP(?DATAENDSSTACKSEGMENTSTACKDB200DUP(?)STACKENDSCODESEGMENTASSUMEDS:DATA,SS:STACK,CS:CODESTART:MOVAX,DATAMOVDS,AXLEASI,BUFALEADI,BUFBMOVCX,COUNTLOP:MOVAX,[SI]MOV[DI],AXINCSIINCSIINCDIINCDIDECCXJNZLOPMOVAH,4CHINT21HCOD

4、EENDSENDSTART2.1.2机器指令简介8086/8088指令系统提供的机器指令从功能上可分为7种类型:数据传送指令算术运算指令位运算指令程序控制指令串操作指令处理器控制指令输入/输出指令所有机器指令从格式上看,有3种指令格式:①无操作数指令格式:助记符例如:STCCLCCMC②单操作数指令格式:助记符操作数例如:PUSHAXPOPBX③双操作数指令格式:助记符目的操作数,源操作数例如:MOVCX,DX2.1.3常量、变量、标号及表达式1.常量常量是指汇编语言源程序中以数值常数、字符串常数和符号常数的形式存在的量。注意:当数值

5、常量的值是十六进制形式,并且第一个字符是大写字母A~F或小写字母a~f时,需要在数值前面加一个0,如:0A64DH。例如:在下面的汇编源程序中,带下画线的量就是常量DATASEGMENTSTRDB“Howdoyoudo?$”DATAENDSSTACKSEGMENTSTACKDB200DUP(?)STACKENDSCODESEGMENTASSUMEDS:DATA,SS:STACK,CS:CODESTART:MOVAX,DATAMOVDS,AXLEADX,STRMOVAH,9INT21HMOVAH,4CHINT21HCODEENDSEND

6、START例如:在下面的数据段中,带下画线的是一个符号常数,它是使用EQU伪指令定义的。DATASEGMENTBUFADW367BH,2845H,0A78H,9DE3H,0F6BH,6532HCOUNTEQU($-BUFA)/2BUFBDWCOUNTDUP(?)DATAENDS定义符号常数使用EQU伪指令、“=”伪指令。2.变量变量是指数据存储单元地址的符号表示,变量的值在程序运行过程中可以改变。(1)变量的定义定义变量使用伪指令DB、DW、DD、DQ、DT。DB用来定义字节变量,字节变量占1个存储单元,可存储一个字节数据。DW用来定

7、义字变量,字变量占2个存储单元,可存储一个字数据。DD用来定义双字变量,双字变量占4个存储单元,可存储一个双字数据。DQ用来定义四字类型变量,四字类型变量占8个存储单元,可存储8字节数据。DT用来定义十字节类型变量,十字节类型变量占10个存储单元,可存储10字节数据。例如:在数据段DATA中定义字节变量STR。DATASEGMENTSTRDB“Howdoyoudo?$”DATAENDS例如:在数据段DATA中定义了字变量BUFA和BUFB。DATASEGMENTBUFADW367BH,2845H,0A78H,9DE3H,0F6BH,6

8、532HCOUNTEQU($-BUFA)/2BUFBDWCOUNTDUP(?)DATAENDS(2)变量的属性变量有三个属性,即段属性、偏移地址属性、类型属性。段属性:指变量所在段的段地址。偏移地址属性:指变量所定义的单

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

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

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