第四汇编语言程序设计(第二讲)chap_第1页
第四汇编语言程序设计(第二讲)chap_第2页
第四汇编语言程序设计(第二讲)chap_第3页
第四汇编语言程序设计(第二讲)chap_第4页
第四汇编语言程序设计(第二讲)chap_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、指令的格式为:指令的格式为: MACRO 形参表形参表 ENDMX、Y、Z是形式参数。调用宏DADD时可写为: DADD DATA1,DATA2,SUMDATA1,DATA2,SUM是实际参数,由它们替换定义中的X、Y、Z。宏调用与过程(子程序)调用都是一次定义,多次调用。它们之间的差别是: 执行形式执行形式:宏命令伪指令由宏汇编程序在汇编过理中进行处理,而CALL、RET则是由CPU执行的指令。 汇编结果汇编结果:宏命令伪指令汇编后被展开。 执行速度执行速度:宏命令执行速度较快(因无调用转移) 占用内存占用内存:宏指令简化了源程序,但不能简化目标程序,并不节省内存单元。使用过程可以节省代码占

2、用的内存空间。汇编语言的一个实例: EXAM.ASM 在在DOS系统系统中,功能调用都是用软中断指令中,功能调用都是用软中断指令INT 21H来实现的。来实现的。(预留的预留的N1个字节的存储单元个字节的存储单元) 0DHN2N1 N1: 缓冲区长度缓冲区长度(最大键入字符数最大键入字符数) N2: 实际键入的字符数实际键入的字符数(不包括回车符不包括回车符) 用户定义的输入字符串的缓冲区格式 BIOS:基本输入输出系统,是固化在EPROM中的一组实现基本输入输出功能的子程序。BIOS调用通过多个软中断提供,调用方法为:BIOS中的几个主要中断类型如下:INT 10H屏幕显示INT 13H磁盘

3、操作INT 14H串行口操作INT 16H键盘操作INT 17H打印机操作每类中断由包含许多子功能,调用时通过功能号指定。BIOS功能调用说明见p416附录D。 如何绘制程序框图(流程图)?NY?框中标明子程序名字(入口参数等) 。 流程图的例子FlowChart.docYYYNNN有错 ?有错 ?有错 ?结束汇 编输入(修改)源程序连 接运 行查 错开始用EDIT,NOTEPAD等任何文本编辑器。源程序存为.ASM文件 用MASM宏汇编程序进行汇编。汇编后生成.OBJ目标文件。命令格式:MASM ; 用LINK连接程序进行连接。连接后生成.EXE可执行文件。命令格式:LINK ; 用TD、D

4、EBUG等调试程序进行调试。命令格式:TD 标号:条件满足条件满足?处理处理NYIFTHEN结构程序结构: 测试/比较指令 (TEST/CMP) 条件转移指令 (Jx 标号) 处理体处理体 标号: 其他指令 程序结构: TEST/CMP指令 Jx 标号1 处理体处理体P1 JMP 标号2标号1: 处理体处理体P2标号2:其他指令 条件满足条件满足?处理处理P1处理处理P2标号1:标号2:条件1条件2IFTHENELSE结构标号标号1:条件条件1成立成立?P1NYCASE结构程序结构:程序结构: TEST/CMP指令(测试条件1) Jx 标号1 ;不满足转标号1 处理体处理体P1 JMP 标号标

5、号n+1标号1:TEST/CMP指令(测试条件2) Jx 标号2 ;不满足转标号2 处理体处理体P2 JMP 标号标号n+1标号2:TEST/CMP指令(测试条件3) Jx 标号3 ;不满足转标号3 处理体处理体P3 JMP 标号标号n+1标号3:TEST/CMP指令(测试条件4) 标号n+1:(公共出口)条件条件2成立成立?条件条件n成立成立?Pn+1标号标号2:标号标号n:标号标号n+1:P2PnNNYY例:例:P178,例例4-14,统计成绩。,统计成绩。流程图中虚线框内流程图中虚线框内初始化初始化循环体循环体循环控制循环控制继续循环?继续循环?YN初始化初始化循环体循环体循环控制循环控

6、制继续循环?继续循环?YNBSORT.ASM掌握以下几点:调用子程序用CALL指令,返回调用程序用RET指令。子程序允许嵌套调用。进入子程序后首先要保护主程序的运行状态(标志位)和使用的寄存器内容(称为保护现场保护现场),退出子程序前要恢复现场恢复现场。调用前要预先确定子程序中要使用哪些寄存器使用哪些寄存器,并定义入口参数和出口参数定义入口参数和出口参数。参数传递可利用寄存器、存储单元或堆栈(要用BP寻址)。例1: 二进制数(0-F)转换成ASCII(0-F)的子程序。BIN2ASC PROC ;要转换的数在AL的低四位 ;转换结果仍在AL中 CMP AL, 9 JA A2F ADD AL, 30H JMP DONE A2F: ADD AL, 37H DONE: RETBIN2ASC ENDP调用方法:(在主程序中) MOV AL, 0CH CALL BIN2ASC (AL中有0CH

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论