版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Just a Little,用汇编语言编写 32位Windows应用程序,16位DOS与32位Windows1,16位DOS操作系统工作于实地址方式 DOS是单任务操作系统,一个正在运行的程序独占了所有系统资源 DOS系统只有一个特权级别,任何程序和操作系统都是同级的,32位Windows操作系统运行于保护工作方式 Windows是多任务操作系统,系统资源由多个程序共享 Windows系统存在两个特权级别,操作系统运行在最高级别0级,应用程序都运行于最低级别3级,16位DOS与32位Windows2,DOS平台下 只有1MB物理存储空间 必须分成不大于64KB的逻辑段,Windows平台下 直
2、接使用32位地址寻址一个不分段的、达4GB的主存空间 Windows应用程序只有代码段和数据段 无须和段寄存器打交道,16位DOS与32位Windows3,对程序员来说, 操作系统由其提供的系统功能调用定义,DOS操作系统为程序员提供中断服务程序 以中断调用的方法进行系统功能调用 DOS中断调用采用寄存器传递参数,Windows操作系统提供了动态链接库DDL 利用应用程序接口API调用动态链接库中的函数 Windows的API也曾被称为软件开发包SDK,16位和32位Windows的API分别被称为Win16和Win32 Windows应用程序利用堆栈传递参数,16位DOS与32位Window
3、s4,DOS下的程序以字符方式显示给用户 程序需要用户输入时,就停下来;用户不输入就不再执行;而且,需要输入一个数据,用户不能输入另一个数据。,Windows程序采用图形用户界面 它时刻等待用户的操作。用户的每个操作都会形成消息(Message)传递给程序,程序则给予响应,一个最简单的Win32汇编语言程序 显示标准Windows消息窗口的程序 消息框显示:欢迎进入32位Windows世界! 标题:Win32示例,Win32ASM程序结构,.386 .model flat,stdcall option casemap:none include masm32includewindows.inc
4、include masm32includekernel32.inc include masm32includeuser32.inc includelib masm32libkernel32.lib includelib masm32libuser32.lib,ltwin011/2,.data szCaptiondb Win32示例,0 szText db 欢迎进入32位Windows世界!,0 .code start:invoke MessageBox,NULL, addr szText, addr szCaption,MB_OK invoke ExitProcess,NULL end sta
5、rt,ltwin012/2,对比C+程序,#include int WINAPI WinMain(HINSTACE hInstance, HINSTACE hPrevInstance, PSTR szCmdLine,int iCmdshow) MessageBox(NULL,TEXT(“欢迎进入32位Windows世界!”),TEXT(“Win32示例”),0); return 0; ,C+调用API,MessageBox,在Win32程序员参考手册中的定义: int MessageBox( HWND hWnd,/ handle of owner window LPCTSTR lpText,/
6、 address of text in message box LPCTSTR lpCaption,/ address of title of message box UINT uType/ style of message box ); 在user32.inc的声明: MessageBoxA PROTO :DWORD,:DWORD,:DWORD,:DWORD MessageBox equ ,ExitProcess,在Win32程序员参考手册中的定义: VOID ExitProcess( UINT uExitCode/ exit code for all threads ); 在user32.
7、inc的声明: ExitProcess PROTO :DWORD 在windows.inc 的定义: NULLequ 0 MB_OKequ 0,MASM32开发环境,Steve Hutchesson的免费软件包 编辑器geditor.exe MASM 6.14汇编程序和链接程序 相当完整的Win32的包含文件、库文件以及教程和示例等,MASM32的网络资源,Hutch的32位MASM第7版(masm32v7.zip) Iczelion的Win32教程 http:/spiff.tripnet.se/iczelion API文档 ,创建一个窗口的过程,1.取得程序的实例句柄(hInstance) 2.注册窗口类,即为你的窗口指定处理消息的过程,定义光标,窗口风格,颜色等参数 3.创建窗口 4.显示窗口 5.然后进入消息循环,也就是不停地检测有无消息,并把它发送给窗口进程去处理,ltwin02.asm,ltwin02.exe,窗口处理的过程,1. 从Windows传给窗口过程的参数uMsg 得到消息类型,并转到不同的分支去处理 2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年少代会教学设计
- 人防给排水系统施工方案及技术措施
- 渠道护坡工程砌石施工方案及技术措施
- 急诊科负压吸引故障应急演练方案脚本
- 2026年卫生副高级职称考试(临床医学检验临床免疫技术)模拟试题及答案
- 2025-2026学年萨沙音乐教案
- 青年职工思想状况调查报告2026(3篇)
- 2026年公共营养师三级理论模拟试题(附答案)
- 溶氧测量系统安装调试施工方案及技术措施
- 电力施工单位车工装卸作业安全操作规程
- 矿井通风防尘培训
- 半年度人力资源工作总结
- 第二章综合与实践进位制的认识与探究教学设计人教版数学七年级上册
- 四位一体多功能化工单元培训装置操作规程
- DB46∕475-2023 水产养殖尾水排放标准
- 机关后勤保障服务管理方案
- 脊柱矫形护理查房课件
- 2025年卫生高级职称面审答辩(卫生管理)历年参考题库含答案详解
- SY4205-2019石油天然气建设工程施工质量验收规范自动化仪表检验批表格
- 美发技师培训课件表
- boppps教学模式课件
评论
0/150
提交评论