第 5 章 多模块程序设计 微型计算机原理与应用 教学课件
第 5 章 多模块程序设计 5.1 汇编语言程序的多模块连接 5.2 结 构 与 记 录 5.3汇编语言程序与高级语言程序的连接 汇编语言子程序: DGROUPGROUP -DATA, -BSS -DATA SEGMENT WORD PUBLIC ′DATA′ EXTRN -A:WORD PUBLIC -B -B DW 0 -DATA ENDS -BSS SEGMENT WORD PUBLIC ′BSS′ PUBLIC -R -R DD ? -BSS ENDS -TEXT SEGMENTBYTE PUBLIC ′CODE′ ASSUME CS:-TEXT, DS:DGROUP, SS:DGROUP PUBLIC -Y -Y PROC FAR PUSH BP MOV BP, SP MOV CX, [BP+6] MOV AX, [-A] DEC CX L1: MUL WORD PTR [-A] LOOP L1 ADD AX, -B JNC L2 INC DX 80END; 汇编语言子程序: CODESEGMENT ASSUME CS: CODES PUBLICHEXOUT HEXOUTPROCFAR PUSHBP MOVBP, SP PUSHAX PUSHBX PUSHCX PUSHDX MOVBX, [BP+6] MOVAX, [BX] PUSHAX MOVCX, 04 HEX1:POPAX PUSHCX MOVCL, 04 ROLAX, CL POPCX PUSHAX ANDAL, 0FH ADDAL, 30H CMPAL, 3AH JLOUT1 ADDAL, 07H OUT1:MOVDL, AL MOVAH, 02H INT21H LOOPHEX1 POPAX POPDX POPCX POPBX POPAX POPBP RET2 HEXOUTENDP CODESENDS END 2. 编译BASIC程序与汇编语言子程序的连接 尽管解释BASIC有许多优点,但它速度太慢,在科学计算等应用中受到了一定的限制,而编译BASIC在一定程度上克服了解释BASIC的缺点,从而得到广泛应用。由于编译BASIC的源文件经编译后可以产生目标文件,因而它与汇编语言子程序的连接也十分简单。连接方法主要有以下 3 点: (1) 首先利用BASCOM.COM程序对源程序进行编译, 形成BASIC程序的目标模块。如果IBM PC/XT(286#, 386)中有8087(80287#, 80387),可采用87编译BASIC。 87 BASCOM.COM编译时需使用O开关,即回答源文件名时应为:源文件名/O/O。 (2) 利用宏汇编对汇编语言子程序进行汇编, 形成汇编语言子程序的目标模块。 (3) 利用LINK程序把以上分别形成的两个目标模块连接起来。这样,便形成了一个完整的可执行文件。 这里需要说明几点: (1) 编译BASIC的源文件通常应由编辑程序建立。若是在解释BASIC状态下形成的源文件,则存盘时应加A参数,格式如下: SAVE 文件名.BAS, A (2) 编译BASIC语言程序作为主程序, 在调用汇编语言子程序时,只需使用调用语句CALL即可,它不需要对汇编语言子程序的段和偏移地址作任何设定,这是由LINK完成的。 (3) BASIC语言主程序在调用时,也可以有带参调用和无参调用两种。带参调用时,在执行调用语句的时候同样将参数的地址依次压入堆栈,以便传递给汇编语言子程序。 (4) 汇编语言子程序以过程形式编写,其类型应为FAR。 汇编语言子程序中必须用伪指令PUBLIC指出该过程为外部过程, 可供其它模块调用。
您可能关注的文档
- 第 3 章微机系统中的微处理器 微型计算机原理与应用 教学课件.ppt
- 第 4 章 货币市场与利率 银行考试相关课件.ppt
- 第 3 章: 变量、数据类型和表达式 《Visual C# 程序设计语言》 教学课件.ppt
- 第 4 章 异常 计算机系JAVA培训讲义.ppt
- 第 4 章 静态场边值问题的解法 电磁场与电磁波教案 教学课件.ppt
- 第 4 章 汇编语言程序设计基本方法 微型计算机原理与应用 教学课件.ppt
- 第 3章交流电路 电工电子技术与技能教学课件.ppt
- 第 4 章 光端机 光纤通信 教学课件.ppt
- 第 4章 指令系统 可编程序控制器原理及应用 教学课件.ppt
- 第 5 章 局域网交换 高级计算机网络 教学课件.ppt
- 伟明环保-市场前景及投资研究报告-境内业务稳健运行,印尼市场贡献边际增量.pdf
- 桂东县法院系统招聘考试真题2025.pdf
- 贵州省黔南布依族2026年中考三模物理试题及答案.pdf
- 贵州省黔南州2026年中考语文二模试卷附答案.pdf
- 贵州省铜仁市2026年中考语文二模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套完整答案详解.docx
- 贵州省毕节市2026年中考语文一模试卷附答案.pdf
- 贵州省贵阳市南明区2026年中考语文一模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套参考答案详解.docx
- 贵州省贵阳市白云区2026年中考二模物理试题附答案.pdf
原创力文档

文档评论(0)