- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入汇编 嵌入汇编 嵌入汇编 嵌入汇编 嵌入汇编 嵌入汇编 嵌入汇编 嵌入汇编 嵌入汇编 嵌入汇编 嵌入汇编 END 4.5.2 模块连接 各种语言的程序分别编写 利用各自的开发环境编译形成OBJ模块文件 将它们连接在一起,生成可执行文件 为了保证正确连接 采用一致的调用规范 声明共用函数和变量 正确传递入口参数和返回参数 使用MASM的扩展过程定义 〔例4-25〕模块连接计算数组平均值函数-1 #include iostream.h #define COUNT 10 extern C { long mean(long d[], long num); } int main() { long array[COUNT] = {675, 354, -34, 198, 267, 0, 9, 2371, -67, 4257}; coutThe mean is \tmean(array,COUNT)endl; return 0; } 〔例4-25〕模块连接计算数组平均值函数-2 .686 .model flat,c mean proto d:ptr dword,num:dword ; 过程声明 .code mean proc USES ebx ecx edx,d:ptr dword,num:dword ; 过程定义 mov ebx,d ; EBX=数组地址 mov ecx,num ; ECX=数据个数 ...... ret mean endp end 汇编模块 操作演示 模块连接-汇编模块 模块连接-创建项目 模块连接-编辑主程序 模块连接-加入项目 模块连接-创建可执行文件 模块连接-生成可执行文件 模块连接-执行结果 END 理解目标地址的转移范围和寻址方式 掌握控制转移指令 处理器指令:JMP,Jcc,LOOP,JECXZ,CALL,RET 伪指令:PROC/ENDP,MACRO/ENDM,INCLUDE,INCLUDELIB 掌握各种程序结构及其编程方法 单分支、双分支 计数控制循环、条件控制循环 子程序、子程序模块和子程序库、宏、文件包含 熟悉Windows控制台和窗口应用程序的编程 熟悉嵌入汇编和模块连接的混合编程方法 熟悉常见编程问题 数组运算,大小写转换,奇偶校验 字符或数据个数统计,求最小值、最大值,字符删除 二进制、十进制、十六进制数据相互转换 二进制、十进制、十六进制数据的键盘输入和显示输出 教学要求 第4章 汇编语言程序设计 第4章 习题 4.1 简答题(1、2、3、4、7) 4.2 判断题(2、3、4、6、8) 4.3 填空题(2、3、5、7、9) 4.6 4.8 4.11 4.12 4.13 4.18 4.21 4.22 4.25 4.29 4.33 微机原理与接口技术--基于IA-32处理器和32位汇编语言·第4版 * 第4章 汇编语言程序设计 * 4. 宏汇编 宏(Macro):具有宏名的一段汇编语句序列 宏需要先定义 宏名 MACRO 形参表 …… ;宏定义体 ENDM 然后程序中进行宏调用 宏名 实体参数 在汇编时,宏指令被汇编程序用宏定义的代码序列替代,实现宏展开 宏汇编示例 宏定义 WriteString macro msg push eax lea eax,msg call dispmsg pop eax endm 宏展开 push eax lea eax,msg call dispmsg pop eax 宏调用 WriteString msg 5. 源文件包含 INCLUDE 文件名 将INCLUDE伪指令指定的文本文件内容插入源程序 可以包含任何文本文件 一些常用的或有价值的宏定义存放在.MAC宏定义文件 各种常量定义、声明语句等组织在.INC包含文件 常用的子程序形成.ASM汇编语言源文件 利用INCLUDE伪指令包含其他文件,其实质仍然是一个源程序,只不过是分在了几个文件书写 组合两种文件包含、以及宏汇编等方法,可以精简程序框架、简化程序设计 IO32.INC IO32.INC .nolist ; 不列表内容 ;filename: io32.inc ... ;declare procedures extern readc:near,readmsg:near extern dispc:near,dispmsg:near,dispcrlf:near ;declare I/O libraries includelib io32.lib ;define macros WriteString MACRO string ... .list ; 列表内容 返回 4.4 Windows应用程序编程 汇
文档评论(0)