第四讲 汇编语言程序设计2.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 汇编语言程序设计 在所有DOS功能调用中,将INT 2lH软中断命令实现的所有 子程序调用称为DOS系统功能调用,它体现了DOS的核心功 能, 对应100多个子程序。常用如下: ① 单字符输入 ( 01H、07H、08H功能 ) ② 显示单字符 ( 02H、05H功能 ) ③ 单字符输入 或显示( 06H功能 ) ④ 字符串输入 ( 0AH功能 ) ⑤ 显示字符串 ( 09H功能 ) ⑥ 检测键盘状态 ( 0BH功能 ) ⑦ 保存中断向量 ( 35H功能 ) ⑧ 设置中断向量 ( 25H功能 ) 设置入口参数 在AH设置功能号m 执行中断指令INT N 分析、应用出口参数 第4章 汇编语言程序设计 4.5.1 概述? 一、模块化程序设计的特点与步骤 4.5 模块化程序设计技术 特点: (1)大“任务”分解成子任务,缩短了程序设计周期; (2)对每个模块单独操作,可以提高程序质量; (3)模块程序可放在库里供多个程序使用。 模块化程序设计—— (1)将一个较大的“任务”分解成N个具有独立功能的子任务,每个子任务命名为一个模块并单独编辑(*.ASM); (2)对每个模块编译(MASM)后生成相应的.OBJ文件; (3)由LINK程序将各模块链接在一起,形成一个完整的可执行程序(.EXE)。 二、模块化程序设计的原则 (1)模块的独立性要强; (2)模块间的关系要明确; (3)将结构化程序设计思想应用于模块。 一、全局符号的定义和使用 1 . 一个模块中定义的符号如不另加说明,均为局部符号,局部符号只能在定义它的模块内使用。 第4章 汇编语言程序设计 4.5.2 程序中模块间的关系 2. 多个模块共用的符号必须是全局符号。 局部符号 = 全局符号 在定义局部符号的模块中用PUBLIC语句说明, 在使用它的模块用EXTRN语句说明, 即可作为全局符号使用。 二、模块间转移形式 通过指令:JMP、CALL或INT 实现, 有 近转移和远转移。 三、多个模块的组合关系 第4章 汇编语言程序设计 段定义伪指令SEGMENT中的 “组合类型”属性提供了选择多个模块组合形式的可能性 。 组合类型—— NONE:本段为独立段,不与其他模块段发生连接逻辑。 PUBLIC:将本段与其它模块中说明为PUBLIC的同名段邻接在一起,共用一个段地址。组成一个大的物理段(“段组”)。 STACK:将该段与其他同名的堆栈段连接在一起,组合后的物理段的长度等于参与组合的各堆栈段的长度之和。 COMMON:各模块中由COMMON方式说明的同名段重叠履盖,重叠部分的内容取决于参与覆盖的最后一个段的内容,复合段的长度等于参与覆盖的最长段的长度。 MEMORY:该段将位于被链接在一起的其他段之上(高地址处),如果链接时出现多个段有MEMORY组合类型,将对第一个MEMORY的段赋予这一属性,其他段作COMMON段处理。 第4章 汇编语言程序设计 4.5.3 模块化程序设计举例 求无序表中的最大元素及其位置(在另一模块中实现)。 (1)算法 ① 先确定第一个值为最大值 , 计数循环为 CX-1次。 ② 再顺序与表后元素比较 ,将其中大的值取代当前的最大值。 MOV BX, OFFSET ARRAY MOV CX, COUNT MOV AL, [BX] DEC CX INC BX AA: CMP AL, [BX] JG NEXT ;假设为带符号数间的比较 MOV AL, [BX] NEXT: INC BX LOOP AA 第4章 汇编语言程序设计 ;模块A,文件名MAIN.ASM EXTRN FOUND:NEAR DATA1 SEGMENT ARRAY DB d1,d2,d3,…,dn COUNT EQU $-ARRAY DATA1 ENDS CODE SEGMENT WORD PUBLIC ‘CODE’ ASSU

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档