




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 4 3汇编语言程序设计的基本方法 一 程序设计步骤二 源程序的汇编 连接与调试三 IBMPC汇编语言程序源程序的完整结构及伪指令四 顺序结构五 分支结构六 循环结构七 子程序八 DOS系统功能调用九 字符串处理十 宏指令 2 七 子程序 1 过程定义 3 六 子程序 概念 子程序为功能确定 且独立的程序段 优点 可以将任何一段独立的程序归整为一个子程序 当需要该段程序时 只需调用子程序即可 调用后会自动返回到调用指令的下一条指令 因此采用子程序设计时 可以简化程序设计 从调试程序的角度 由于原本在多处出现的程序段 缩减为子程序调用指令 使调试程序更加方便 4 缺点 采用子程序设计后 由于调用子程序和从子程序中返回需要执行指令 并且为保护某些寄存器的内容 需要进行压入堆栈和弹出堆栈的操作 因此会使程序执行速度受到一定的影响 六 子程序 5 实现 子程序调用是通过自动修改 IP 和 或 CS 的内容实现的 为了确保子程序调用后能够返回到调用指令之后 CALL指令会自动保存返回地址 IP和 或CS 而RET指令会自动返回到CALL指令的下一条指令 六 子程序 6 2 调用和返回指令 CALL指令 段内调用段间调用 段内直接调用段内间接调用 段间直接调用段间间接调用 六 子程序 7 IP cs 8 段内调用 子过程与原调用程序在同一代码段 在调用之前会自动把断点的偏移地址压栈 调用指令的下一条指令的地址 断点 入口地址 CALLTIMERCALLWORDPTR SI 六 子程序 9 段间调用 子过程与原调用程序不在同一代码段 在调用之前会自动把断点的段基地址和偏移地址压栈 先将断点的CS压栈 再压入IP CALLFARPTRTIMERCALLDWORDPTR SI 六 子程序 10 返回指令 格式 RETRETF近返回 从栈顶弹出两个字节内容送IP SP内容加2远返回 从栈顶弹出四个字节内容分别送CS和IP SP内容加4 从堆栈中弹出断点地址 返回源程序 六 子程序 11 3 主程序和子程序间的参数传递 入口参数 将主程序给子程序提供的初始数据或获得初始数据的信息称为子程序的入口参数 出口参数 子程序返回给主程序的结果称为子程序的出口参数 参数传递可用以下3种方法完成 利用寄存器 利用内存单元 变量 传递参数 利用堆栈 六 子程序 12 4 子程序说明文件 六 子程序 13 5 过程的嵌套 递归调用 过程的嵌套 六 子程序 递归调用当子程序嵌套时 若某子程序要调用的子程序就是其本身 则称为递归调用 14 例1子程序设计 编写子程序实现统计一个字 AX 中 1 的个数 解 利用移位指令或循环移位指令 每次对CF位进行检测 当CF 1时 则总个数加1 当CF 0时 则总个数不变 这种操作可以采用有条件转移指令来实现 也可采用方便的ADC指令实现 子程序如下 六 子程序 15 COUNTER1PROCNEARPUSHAXMOVCX 16XORBL BLCOU1 SHRAX 1ADCBL 0LOOPCOU1POPAXRETCOUNTER1ENDP 六 子程序 16 例1子程序应用 利用上例设计的子程序 统计字型变量VAR1中1的个数 解 在数据段中定义变量VAR1和CounterVar1 VAR1DW1234HCounterVar1DB 则可在代码段中编写程序 MOVAX VAR1CALLCOUNTER1MOVCounterVar1 BL执行后 结果单元CounterVar1的值为5 说明1234H中包含有5个 1 六 子程序 17 例2编写程序 完成将一组BCD数转换成16位二进制数 BCD数转换成16位二进制数用子程序实现 BCD数转换成16位二进制数的算法步骤为 DX 0 用DX存放结果 取要转换的一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络购买药品合同7篇
- 河北教室招聘试题及答案
- 2025年安川变频器考试题及答案
- 云南博物馆施工方案
- 防腐木建筑景观施工方案
- 钻孔检查方案模板范本
- 造价公司组建方案范本
- 商务财经知识题库及答案
- 房地产施工方案编制说明
- 项目管理证书真题及答案
- 文学类文本阅读2026届高三9月名校模考试分类汇编五
- 2025年9月20日云南省直机关遴选公务员笔试真题及答案解析
- 合同纠纷民事起诉状模板示例
- 招行ai面试题库大全及答案
- 投标服务响应应急方案(3篇)
- 第4课 探究智慧农业应用领域 课件【教科版】《信息科技》八年级上册
- 无人机航拍课件
- 2025支付宝财经内容生态报告
- 水务集团招聘考试笔试试题及答案
- 35kv变电运维协议合同
- 生存分析教学课件
评论
0/150
提交评论