




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 宏指令的 宏指令的格式为: MACRO 形参表 ENDM 上面宏定义中,X、Y、Z是形式参数。 调用宏DADD时可写为: DADD DATA1,DATA2,SUM 上面宏调用中,DATA1,DATA2,SUM是实际参数,由它们替换定义中的X、Y、Z,即形实结合。CALL RETCALL CALL 相同=或主程序+过程(子程序)主程序+宏定义宏扩展宏调用 与 过程(子程序)调用 异同点示意图 宏调用 与 过程(子程序)调用 异同点相同点: 都是一次定义,多次调用。不同点: 执行形式:宏命令伪指令由宏汇编程序在汇编过理中进行处理;而CALL、RET则是由CPU执行的指令。 汇编结果:宏命令伪指令
2、汇编后被展开。 执行速度:宏命令执行速度较快(因无调用转移) 占用内存:宏指令简化了源程序,但不能简化目标程序,并不节省内存单元; 使用过程可以节省代码(源程序和目标程序)占用的内存空间。 汇编语言的一个实例: EXAM.ASM 列表为指令 TITLE SUBTTL PAGE连接伪指令 PUBLIC EXTRN INCLUDE GROUP等等其它伪指令:内存管理、存取时间、存取终端矢量、终止程序等。(预留的N1个字节的存储单元) 0DHN2N1 N1: 缓冲区长度(最大键入字符数) N2: 实际键入的字符数(不包括回车符) 用户定义的输入字符串的缓冲区格式 BIOS中的几个主要中断类型如下:I
3、NT 10H屏幕显示INT 13H磁盘操作INT 14H串行口操作INT 16H键盘操作INT 17H打印机操作 每类中断由包含许多子功能,调用时通过功能号指定。BIOS功能调用说明见p416附录D。 BIOS中断程序处于DOS功能调用和硬件环境之间,和DOS功能调用相比其优点是效率高,缺点是编程相对复杂;和直接对硬件编程相比,优点是实现相对容易,缺点是效率相对较低。 在一些情况下既能选择DOS中断也能选择BIOS中断来执行同样的功能。例如,打印机输出一个字符的功能,可用DOS中断21H的功能5,也可用BIOS中断17H的功能0。因为BIOS比DOS更靠近硬件。一般情况下,尽可能地使用DOS功
4、能,但在少数情况下必须使用BIOS功能。例如,BIOS中断17H的功能2为读打印机状态,DOS就没有等效的功能。 因此,对BIOS和DOS调用的选择原则是,无法使用DOS功能调用或DOS没有提供而BIOS提供了功能的情况下可以考虑使用BIOS中断。BIOS中断调用与DOS功能调用的比较 如何绘制程序框图(流程图)?NY?框中标明子程序名字(入口参数等) 。 流程图的例子FlowChart.docYYYNNN有错 ?有错 ?有错 ?结束汇 编输入(修改)源程序连 接运 行查 错开始用EDIT,NOTEPAD等任何文本编辑器。源程序存为.ASM文件 用MASM宏汇编程序进行汇编。汇编后生成.OBJ
5、目标文件。命令格式:MASM ; 用LINK连接程序进行连接。连接后生成.EXE可执行文件。命令格式:LINK ; 用TD、DEBUG等调试程序进行调试。命令格式: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指令(测试条件
6、1) Jx 标号1 ;不满足转标号1 处理体P1 JMP 标号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初始化循环体循环控制继续循环?YNBSORT.ASM掌握以下几点: 调用子程序用C
7、ALL指令,返回调用程序用RET指令。 子程序允许嵌套调用。 进入子程序后首先要保护主程序的运行状态(标志位)和使用的寄存器内容(称为保护现场),退出子程序前要恢复现场。 调用前要预先确定子程序中要使用哪些寄存器,并定义入口参数和出口参数。参数传递可利用寄存器、存储单元或堆栈(要用BP寻址)。例1: 二进制数(0-F)转换成ASCII(0-F)的子程序。BIN2ASC PROC ;要转换的数在AL的低四位 ;转换结果仍在AL中 CMP AL, 9 JA A2F ADD AL, 30H; 9, +37H DONE: RETBIN2ASC ENDP调用方法:(在主程序中) MOV AL, 0CH CALL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年上半年山东铁投集团校园招聘、社会公开招聘165人考前自测高频考点模拟试题及答案详解(典优)
- 施工图勘测设计与优化方案
- 公司古建琉璃工转正考核试卷及答案
- 户外养蜂专业知识培训课件
- 2025华夏银行校园招聘模拟试卷及一套答案详解
- 公司人造石生产工数据安全与保密考核试卷及答案
- 2025年合肥市第一人民医院双凤院区招聘31人考前自测高频考点模拟试题及参考答案详解一套
- 2025年4月四川内江市第六人民医院招聘见习人员3人模拟试卷及答案详解(易错题)
- 热力系统控制技术方案
- 2025年中国民航大学试题及答案
- 架空输电线路线路检测质量缺陷及预控措施
- 人工智能与核医学的深度融合与应用探索
- GB/T 10819-2025木制底盘
- 女生青春期性教育核心知识框架
- 日常膝关节护理
- 船舶消防救生培训课件
- 初中音标考试题及答案大全人教版
- 贵州贵州磷化有限责任公司招聘笔试真题2024
- 新能源汽车火灾事故成因分析及灭火救援措施
- 2024北京陈经纶中学高二10月月考语文试题及答案
- 中兴信息安全管理制度
评论
0/150
提交评论