- 1、本文档共65页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
Windows编程6.1操作系统函数调用6.2控制台应用程序6.3图形窗口应用程序
Windows编程熟悉汇编语言调用API函数的方法掌握控制台输入输出函数熟悉MASM的高级特性理解Windows图形窗口程序的编写
36.1操作系统函数调用操作系统以其提供的系统函数(系统功能Systemfunction)支持程序员进行编程Windows的系统函数(功能)以动态连接库DLL(Dynamic-LinkLibrary)形式提供,利用其应用程序接口API(ApplicationProgramInterface)调用DDL库中的函数API是一些类型、常量和函数的集合,提供了编程中使用库函数的途径Win16:16位Windows的APIWin32:32位Windows的API
46.1.1动态连接库静态连接:连接程序从库文件中抽取需要的子程序插入到最终的可执行代码中动态连接:程序运行时才将代码加载到主存动态连接库:保存程序运行时需要重复使用的代码的文件3个最重要的Windows动态连接库KERNEL32.DLL:主要处理内存管理和进程调度USER32.DLL:主要控制用户界面GDI32.DLL:负责图形方面的操作导入库(ImportLibrary):程序开发的连接阶段使用,与一个动态连接库DLL对应
56.1.2MASM的过程声明和调用过程声明伪指令PROTO: 事先声明过程的结构 (包括操作系统API函数、高级语言的函数) 过程名 PROTO [调用距离][语言类型] [,[参数]∶类型]...过程调用伪指令INVOKE 实现过程调用 INVOKE 过程名[,参数,...]
66.1.3程序退出函数Win32程序员参考手册VOIDExitProcess(UINTuExitCode //exitcodeforallthreads);汇编语言声明ExitProcessPROTO,:DWORD汇编语言调用invokeExitProcess,0将函数调用定义成宏exit MACROdwexitcode invokeExitProcess,dwexitcode ENDM宏调用exit 0
76.2控制台应用程序Windows应用程序开始运行创建控制台(Console)窗口或创建图形界面窗口32位Windows控制台程序像增强版的MS-DOS程序使用标准控制台 标准输入设备(键盘) 标准输出设备(显示器)32位控制台程序运行在保护方式通过API使用Windows的动态链接库函数
86.2.1控制台输出编写控制台程序需要调用控制台函数,实现控制台(显示器)输出控制台(键盘)输入几乎所有的控制台函数都要求将控制台句柄作为第一个参数传递给它们本节介绍的控制台函数存在于KERNEL32.DLL动态库中程序开发需要使用KERNEL32.LIB导入库文件
91.控制台句柄句柄(Handle)是一个32位无符号整数用来唯一确定一个对象例如某个输入设备、输出设备或者一个图形标准输入句柄 STD_INPUT_HANDLEequ-10标准输出句柄 STD_OUTPUT_HANDLEequ-11标准错误句柄 STD_ERROR_HANDLEequ-12GetStdHandle函数获取控制台输入或输出的句柄实例用于控制台程序的输入输出操作
102.控制台输出函数显示器输出API函数WriteConsole将一个字符串输出到屏幕上支持标准的ASCII控制字符,例如回车、换行等Win32API中可以使用两种字符集8位ASCII字符集,函数名以字母A结尾16位Unicode字符集,函数名以字母W结尾WriteConsole参数第一个:控制台输出句柄实例第二个:指向字符串的指针、即缓冲区地址第三个:指明字符串长度,是一个32位整数第四个:指向一个整数变量,返回实际输出的字符数第五个:保留,设置为0
11〔例6-1〕控制台输出程序-1 .686 .modelflat,stdcall optioncasemap:none includelibbin\kernel32.libExitProcess proto,:dwordGetStdHandle proto,:dwordWriteConsoleA proto,:dword,:dword,:dword,:dword,:dwordWriteConsole equWriteConsoleASTD_OUTPUT_HANDLEequ-11 .datamsg dbHello,Assembly!,13,10count equ$-msgoutsize dd0
12〔例6-1〕控制台输出程序-2 .codestart: ;获
您可能关注的文档
- 3D打印造型设计课件:3D造型设计.pptx
- 3D打印造型设计课件:产品色彩设计.pptx
- 3D打印造型设计课件:产品造型美学原则应用.pptx
- 3D打印造型设计课件:齿轮泵的装配与仿真.pptx
- 3D打印造型设计课件:传动机构设计.pptx
- 3D打印造型设计课件:机械臂的装配与仿真.pptx
- 3D打印造型设计课件:外观造型设计.pptx
- 3D打印造型设计课件:无人机的装配与仿真.pptx
- 3D打印造型设计课件:造型设计表现技法应用.pptx
- 32位汇编语言程序设计(第3版)课件:浮点、多媒体及64位指令.pptx
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
文档评论(0)