微机原理与接口技术第4章课件.ppt

微机原理与接口技术第4章课件.ppt

ID:56372031

大小:421.50 KB

页数:100页

时间:2020-06-13

微机原理与接口技术第4章课件.ppt_第1页
微机原理与接口技术第4章课件.ppt_第2页
微机原理与接口技术第4章课件.ppt_第3页
微机原理与接口技术第4章课件.ppt_第4页
微机原理与接口技术第4章课件.ppt_第5页
资源描述:

《微机原理与接口技术第4章课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库

1、第4章汇编语言程序设计4.1汇编语言程序格式4.2MASM中的表达式4.3伪指令语句4.4DOS系统功能调用和BIOS中断调用4.5程序设计方法4.1汇编语言程序格式一、程序结构程序由语句构成,每条语句占一行。语句分两类:指令性语句(指令语句):能译成机器代码,完成一定的操作功能的语句。指示性语句(伪指令语句):为汇编程序在翻译汇编语言源程序时提供有关控制信息,没有相应的机器代码。指令性(指令)语句与指示性(伪指令)语句区别:程序经汇编、连接和装入内存后,在执行程序之前◢指示性语句的功能已经完成,故又称

2、伪操作。◢而指令性语句的功能尚未完成,需控制CPU去执行才能完成。DATASEGMENT;伪指令语句BUF1DB34HBUF2DB2AHSUMDB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATA;指令语句MOVDS,AXMOVAL,BUF1ADDAL,BUF2MOVSUM,ALMOVAH,4CHINT21H;返回DOSCODEENDSENDSTART例:给出一个完整的汇编语言源程序完成两个字节数据相加。分段结构程序按段编写,与8086内存

3、分段编址相对应。每段由伪操作SEGMENT开始、由ENDS结束。程序可由多个段构成,至少有一个代码段。程序最后为END结束语句,后跟一启动地址。启动地址指示程序开始执行的第一条语句。程序中设有返回DOS的功能。使程序执行完后返回DOS系统的命令接受状态。程序中用到内存操作数时应按操作数的寻址方式,给相应的段寄存器赋值。二、语句格式*指令助记符(操作码)不可以省略指令性语句标号:指令助记符操作数,操作数;注释格式:伪指令语句格式:名字伪指令指示符操作数,操作数;注释根据语句功能的不同,名字项可用来表示段名

4、、变量名、标号、过程名等。名字项用一个符号表示。对符号的规定:①由字符A~Z,a~z,0~9及符号@、$、下划线_等组成,最长31个字符,超出部分忽略。②不能用数字打头,以免与十六进制数相混。③不使用汇编程序中的保留字。(如指令的助记符等)④对定义的符号不区分大小写。但为便于记忆,名字的定义应该做到见名知意。1、名字项(提供符号地址)名字的两种主要形式:标号和变量标号:在代码段中定义,后面跟着冒号“:”,标号作为目标操作数经常在转移指令或调用指令中出现,用以表示转向地址。标号的三种属性:段属性(SEGM

5、ENT):标号所在段的段基值。偏移地址属性(OFFSET):标号所在地址与其所在段首址之间的偏移地址字节数。类型属性(TYPE):反应转移过程中标号可转移的距离,类型NEAR为近标号,只能实现段内转移;类型FAR为远标号,可实现段间转移。变量:变量在数据段、附加段或堆栈段中定义,后面不跟冒号。变量通常指存放在存储单元中的值,在程序运行中是可以修改的。变量的三种属性:段属性(SEGMENT):变量所在段的段基值。偏移地址属性(OFFSET):变量所在地址与其所在段首址之间的偏移地址字节数。类型属性(TYP

6、E):指变量中每个元素所包含的字节数,类型有:字节变量(BYTE)、字变量(WORD)及双字变量(DWORD)等。*在同一个程序中,同样的标号或变量的定义只允许出现一次,否则汇编程序会指示出错。操作码可以是指令、伪指令中的助记符,用以指明操作的性质或功能。对于指令,汇编程序将其翻译成机器语言指令。MOVAX,100→B80001对于伪指令,汇编程序据其要求的功能进行处理。dataSEGMENT→data与一段基值对应stringDB‘Tsinghua’→string与一内存地址对应2、操作码项(不可省略

7、)操作数给出参与操作的数或数所在的地方。操作数多于一个时,用逗号分开。操作数可以是常数、寄存器、存储器操作数、变量、标号、过程名或表达式(下一节介绍)等。3、操作数项常数给出具体的数据。可以是数字常量或字符常量。数字默认十进制,也可加D表示十进制数。如1234D,1234数字后加B表示二进制数。如1010B数字后加H表示十六进制数。如1234H字符常量,用单引号表示。如‘1234’汇编时,用字符对应的ASCII表示。如31H,32H,33H,34H例:data1DB12,34,56;十进制data2DB

8、12H,34H,56H;十六进制MOVAL,‘G’;字符stringDB‘1234’;字符串A、B、C、D、E、F开头的十六进制数前面加0,与H结尾的标识符区别。如寄存器名AH、BH、CH、 DH变量名abcdH等例:movAL,0AHmovAL,AHmovBX,0abcdH由分号引出,用来说明语句或程序的功能。汇编程序对分号后的内容不做处理。作用:①注释程序,增强程序可读性。②可放在语句最前,暂时注释某语句,调试程序用。例:、、、;MOV

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

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

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