电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PPT文档下载
分享到微信 分享到微博 分享到QQ空间

微机原理win

  • 资源ID:56649151       资源大小:304.50KB        全文页数:51页
  • 资源格式: PPT        下载积分:10金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要10金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

微机原理win

1,汇编语言Windows应用程序设计,一、Windows应用程序概述 二、Win32 API及其调用方法 三、Windows应用程序的基本结构 四、Windows应用程序设计实例,2,一、Windows应用程序概述,Windows 应用程序是这样一种应用程序,它是特意为在Windows 环境中运行而编写,并且使用Windows API来完成其任务的。Windows 应用程序可以用各种程序设计语言开发: Visual C/C+、Delphi、Visual Basic、 汇编语言同样可以用于开发Windows 应用程序以窗口为核心的用户界面、以事件驱动为动力的程序运行机制、以及将程序代码与用户界面分开处理的程序开发手段,构成了Windows应用程序特有的设计模式。,3,一、Windows应用程序概述,窗口,窗口是系统显示器上的一个矩形区域,应用程序使用窗口来显示输出或接收用户的输入。窗口可以保证用户能够同时访问大多数应用程序:应用程序只有通过窗口才能访问系统显示器;并且通过使用窗口与其他应用程序共享系统显示器,4,标题栏,工具栏,状态栏,滚动条,最小化按钮,最大化按钮,关闭按钮,客户区,窗口边框,菜单栏,窗口,一、Windows应用程序概述,5,事件驱动,Windows应用程序在运行时不断获得任何可能的消息,进行判断,然后再做适当的处理。,消息可以分为由硬件设备产生的输入消息和来自Windows系统的窗口管理消息。,Windows 应用程序的运行需要依靠外部发生的事件来驱动,描述事件发生的信息称为消息(message)。 例如,当用户按下键盘的某个键时,系统就会产生一条特定的消息,标识键盘被按下事件的发生。,一、Windows应用程序概述,6,事件驱动,硬件输入,系统消息队列,应用程序队列,1,应用程序队列,n,Windows,WinMain,函数,消息循环,窗口,函数,1,窗口,函数,m,应用程序,1,WinMain,函数,消息循环,窗口,函数,1,窗口,函数,m,应用程序,n,一、Windows应用程序概述,7,Windows应用程序的开发模式,Windows 应用程序分为程序代码和用户界面资源两部分,两部分通过连接器组合为一个完整的EXE文件将用户界面资源一类的静态数据与程序代码相分离有如下一些优点: 减少内存要求; 划清了程序员与用户界面设计人员的任务分工; 用户界面风格的变化可以不必修改程序代码或只需进行少量的修改。,一、Windows应用程序概述,8,.,EXE,链接器,.,LIB,.,RC,.,.ASM,.,DLG,.,BMP,.,CUR,.,ICO,.,FON,.,RES,.,OBJ,资源编译器,汇编器,字体编辑器,图象编辑器,对话框编辑器,工具,文本文件,二进制文件,Windows应用程序的开发模式,一、Windows应用程序概述,9,汇编语言源程序的框架,.386 .MODEL FLAT, STDCALL .DATA .initialized data .DATA? .uninitialized data .CONST .constants .CODE .codeEND ,设置汇编程序使用的指令集,.386,设置汇编程序使用的内存 模式和参数传递规则,.MODEL FLAT, STDCALL,.DATA .DATA? .CONST .CODE .,.DATA 包含已初始化的数据 .DATA? 包含未初始化的数据 .CONST 包含常数声明 .CODE 包含程序代码, .END ,程序代码,一、Windows应用程序概述,10,C(cdecl)调用规则和PASCAL调用规则,foo(int first_param, int second_param, int third_param) 采用cdecl调用规则的汇编代码为 push third_param ; 第三个参数压栈 push second_param ; 第二个参数压栈 push first_param ; 第一个参数压栈 call foo add sp, 12 ; 主调函数对堆栈进行平衡,PASCAL调用规则与C调用规则正相反,C调用规则从右向左传递参数,主调函数负责清栈,汇编语言源程序的框架,一、Windows应用程序概述,11,STDCALLl调用规则,从右向左传递参数,被调函数负责对堆栈进行平衡,变长参数问题,int wsprintf( LPTSTR lpOut, LPCTSTR lpFmt, .),必须采用cdecl调用规则,汇编语言源程序的框架,一、Windows应用程序概述,12,Win32 API,API=Application Programming Interface 应用程序编程接口,Win32 API相当于DOS系统功能,kernel32.dll 操作系统核心功能服务 user32.dll 主要用来控制用户界面 gdi32.dll 主要负责图形操作,二、Win32 API及其调用方法,13,API函数的定义,int MessageBox(HWND hWnd, / handle of owner windowLPCTSTR lpText, / address of text in message boxLPCTSTR lpCaption, / address of title of message box UINT uType / style of message box);,Microsoft Win32应用程序接口参考手册(上、下), 清华大学出版社 win32.hlp电子版Win32程序员参考手册(hlp格式),二、Win32 API及其调用方法,14,API函数的调用,push mb_ok ;PUSH value for uType push lpCaption ;PUSH Pointer to Caption push lpText ;PUSH Pointer to Text push hWnd ;PUSH Masterhandle call MessageBoxA ;CALL MessageBoxA,1. 常规方法,调用Win32 API函数时,函数名必须区分大小写,将MessageBoxA写成messageboxa是错误的。,二、Win32 API及其调用方法,15,API函数的调用,2. PROTO与INVOKE伪指令(MASM6.x),MessageBoxA PROTO hWnd:DWORD, lpText:DWORD,lpCaption:DWORD, uType:DWORD位置在程序的开始处,或在包含文件中,用INCLUDE伪指令 包含到当前文件中,INVOKE MessageBoxA, NULL, lpMsgBoxText, lpMsgBoxCaption, MB_OK,二、Win32 API及其调用方法,16,API函数的返回值,函数调用后的返回值保存在EAX寄存器中,涉及字符串的API函数,MessageBoxA ANSI(8位) Windows 9x,MessageBoxW Unicode(16位) Windows NT/2000,二、Win32 API及其调用方法,17,示例,; set options for the assembler.386 .model flat, stdcall; declaration of all used API-functionsExitProcess PROTO :DWORD MessageBoxA PROTO :DWORD, :DWORD, :DWORD, :DWORD ; here begins our .data section.data Text db “Hello, World!“,0 ;Text, terminated with “0“ Caption db “Hello“,0 ;Caption string, 0-terminated,二、Win32 API及其调用方法,18,; here begins our .const section.const NULL equ 0 MB_OK equ 0 ; here we start with our code.code Start: INVOKE MessageBoxA, NULL, ADDR Text, ADDR Caption, MB_OK INVOKE ExitProcess, NULL end Start,二、Win32 API及其调用方法,19,汇编与连接,ml /c /coff /Cp hello.asm,/c指示MASM只进行汇编,不调用连接程序; /coff 指示MASM以COFF 格式创建.obj文件; /Cp指示MASM保持用户标识符的大小写。,link32 /SUBSYSTEM:WINDOWS /LIBPATH:c:masm611lib hello.obj kernel32.lib user32.lib,/SUBSYSTEM:WINDOWS通知Link可执行文件是Windows应用程序; /LIBPATH:c:masm611lib指示导入库的路径。,二、Win32 API及其调用方法,20,D:masmwin32>,ml /c /coff /Cp hello.asm,Microsoft (R) Macro Assembler Version 6.13.7299 Copyright (C) Microsoft Corp 1981-1997. All rights reserved.Assembling: hello.asmD:masmwin32>,link32 /SUBSYSTEM:WINDOWS /LIBPATH:c:masm611lib hello.obj kernel32.libuser32.lib,Microsoft (R) Incremental Linker Version 6.00.8168 Copyright (C) Microsoft Corp 1992-1998. All rights reserved.D:masmwin32>,hello,D:masmwin32>,二、Win32 API及其调用方法,21,包含文件,可以将常用的函数原型定义存放在一个文件中,在编写程序时用INCLUDE语句将其包含进来。,在本课程提供的Masm for Windows 开发工具中提供了四个包含文件: user32.incuser32.dll中函数的原型定义 kernel32.inc kernel32.dll中函数的原型定义 gdi32.inc gdi32.dll中函数的原型定义 windows.inc 常数和常用数据结构的定义,利用这些包含文件,可以使汇编程序的源代码得到简化。,二、Win32 API及其调用方法,22,.386 .model flat, stdcallinclude windows.inc include user32.inc include kernel32.inc include gdi32.inc.data Text db “Hello, World!“,0 ;Text, terminated with “0“ Caption db “Hello“,0 ;Caption string, 0-terminated.code Start: INVOKE MessageBoxA, NULL, ADDR Text, ADDR Caption, MB_OK INVOKE ExitProcess, NULL end Start,

注意事项

本文(微机原理win)为本站会员(xzh****18)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.