微机原理与接口技术(楼顺天)-第4章6.ppt

微机原理与接口技术(楼顺天)-第4章6.ppt

ID:49341219

大小:364.50 KB

页数:73页

时间:2020-02-03

微机原理与接口技术(楼顺天)-第4章6.ppt_第1页
微机原理与接口技术(楼顺天)-第4章6.ppt_第2页
微机原理与接口技术(楼顺天)-第4章6.ppt_第3页
微机原理与接口技术(楼顺天)-第4章6.ppt_第4页
微机原理与接口技术(楼顺天)-第4章6.ppt_第5页
资源描述:

《微机原理与接口技术(楼顺天)-第4章6.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、本教案内容第4章 汇编语言程序设计汇编语言程序设计基础源程序的汇编、连接与调试分支程序设计技术循环程序设计技术子程序设计技术综合程序设计示例4.6.1汇编语言的语句格式由汇编语言编写的源程序是由许多语句(也可称为汇编指令)组成的。每个语句由1~4个部分组成,其格式是:[标号]指令助记符[操作数][;注解]其中用方括号括起来的部分,可以有,也可以没有。每个部分之间用空格(至少一个)分开,这些部分可以在一行的任意位置输入,一行最多可有132个字符。1.标号(也叫做名称)标号是给指令或某一存贮单元地址所起的名字,名称可由下列字

2、符组成:字母:A~Z数字:0~9特殊字符:?、.、@、—、$当名称后不带冒号时,有可能是标号,也可能是变量。伪指令前的名称不加冒号,当标号用于段间调用时,后面也不能跟冒号。例如:段内调用OUTPUT:INAL,DX段间调用OUTPUT:INAL,DX2.指令助记符指令助记符表示不同操作的指令,可以是指令助记符,也可以是伪指令。如果指令带有前缀(如LOCK、REP、REPE/REPZ、REPNE/REPNZ),则指令前缀和指令助记符要用空格分开。3.操作数依指令的要求,操作数可能有一个、两个或者没有,也可能有多个操作数。当

3、操作数超过1个时,操作数之间应用逗号分开。操作数可以是常数、寄存器名、标号、变量,也可以是表达式。4.注解注解项可有可无,是为源程序所加的注解,用于提高程序的可读性。在注解前面要加分号,它可位于操作数之后,也可位于一行的开头。汇编时,对注解不作处理,仅在列源程序清单时列出,供编程人员阅读。例如:;读端口B数据INAL,PORTB;读B口到AL中4.6.2常数汇编语言语句中出现的常数可以有以下7种。1.二进制数二进制数字后跟字母B,如01000001B。2.八进制数八进制数字后跟字母Q或O,如202Q或202O。3.十进制

4、数十进制数字后跟D或不跟字母,如85D或85。4.十六进制数十六进制数字后跟H,如56H,0FFH。注意,当数字的第一个字符是A~F时,在字符前应添加一个数字0,以示和变量的区别。5.十进制浮点数浮点十进制数的一个例子是25E-2。6.十六进制实数十六进制实数后跟R,数字的位数必须是8,16或20。在第一位是0的情况下,数字的位数可以是9,17或21,如0FFFFFFFFR以上第5,6项中,两种数字格式只允许在MASM中使用。7.字符和字符串字符和字符串要求用单引号括起来,如′BD′。4.6.3作为主模块,下面几个部分是

5、不可少的。①必须用ASSUME伪指令告诉汇编程序,哪一个段和哪一个段寄存器相对应,即某一段地址应放入哪一个段寄存器。②DOS的装入程序在装入执行时,将把CS初始化为正确的代码段地址,把SS初始化为正确的堆栈段地址,因此在源程序中不需要再对他们进行初始化。③在DOS环境下,通常采用DOS的4CH号中断功能调用使汇编语言返回DOS,即采用如下两条指令:MOVAH,4CHINT21H4.6.4综合程序设计示例本节介绍一些汇编语言设计的综合示例,包括各种题型:选择题、分析题和编程题。例4.16单项选择题1.在伪指令BUFDB20

6、DUP(2,2DUP(8))定义的缓冲区中,数据字0208H的个数有:①20②40③0④192.将DX:AX构成的双字(有符号数)除以2的指令为:①SARAX,1②SHRAX,1RCRDX,1RCRDX,1③SARDX,1④SARDX,1RORAX,1RCRAX,14.6.4综合程序设计示例3.MOVBL,55HAND0F0H指令执行后,(BL)的内容为:①55H②0F0H③50H④05H解:答案依次为④④③。例4.17多项选择题1.能使(AX)和CF同时清零的指令有①MOVAX,0②SUBAX,AX③CMPAX,AX④

7、XORAX,AX⑤ANDAX,AX2.已有定义DATASEGMENTVAR1DW10DUP(?)DATAENDS则源操作数为立即寻址的指令有:①MOVAX,DATA②MOVAX,VAR1③MOVAX,OFFSETVAR1④MOVAX,LENGTHVAR1⑤MOVAX,SIZEVAR14.6.4综合程序设计示例3.使用AL寄存器的指令有:①SAHF②XALT③AAA④MOVSB⑤STOSB解:1.②④⑤2.①③④⑤3.②③⑤例4.18分析下列程序段完成的功能:MOVCX,100LEASI,FIRSTLEADI,SECOND

8、CLDREPMOVSB解:只要搞清楚MOVSB指令的用法,就容易分析出该程序段的功能:从缓冲区FIRST传送100个字节到缓冲区SECOND。4.6.4综合程序设计示例例4.19分析下列程序段:LEADI,STRINGMOVCX,200CLDMOVAL,20HREPZSCASBJNZFOUNDJMPNOT_FOUND

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

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

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