Just a Little rosoff indows 98
Just a Little
Whn32汇编冂16位DOS与32位 Windows-1 ◆16位D0s操作系统工作于实地址方式 令D0S是单任务操作系统,一个正在运行的程序独占了所 有系统资源 令D0S系统只有一个特权级别,任何程序和操作系统都是 同级的 >32位 Windows操作系统运行于保护工作方式 Windows是多任务操作系统,系统资源由多个程 序共享 Windows系统存在两个特权级别,操作系统运行 在最高级别0级,应用程序都运行于最低级别3级
Win32汇编 16位DOS与32位Windows-1 ❖ 16位DOS操作系统工作于实地址方式 ❖ DOS是单任务操作系统,一个正在运行的程序独占了所 有系统资源 ❖ DOS系统只有一个特权级别,任何程序和操作系统都是 同级的 ➢32位Windows操作系统运行于保护工作方式 ➢Windows是多任务操作系统,系统资源由多个程 序共享 ➢Windows系统存在两个特权级别,操作系统运行 在最高级别0级,应用程序都运行于最低级别3级
Whn32汇编冂16位DOS与32位 Windows-2 今D0S平台下 ☆只有MB物理存储空间 今必须分成不大于64KB的逻辑段 Windows平台下 >直接使用32位地址寻址一个不分段的、达4GB 的主存空间 Windows应用程序只有代码段和数据段 >无须和段寄存器打交道
Win32汇编 16位DOS与32位Windows-2 ❖DOS平台下 ❖只有1MB物理存储空间 ❖必须分成不大于64KB的逻辑段 ➢Windows平台下 ➢直接使用32位地址寻址一个不分段的、达4GB 的主存空间 ➢Windows应用程序只有代码段和数据段 ➢无须和段寄存器打交道
Whn32汇编冂16位DOS与32位 Windows-3 ☆D0S操作系统为程序员提供中断服务程序 ◆以中断调用的方法进行系统功能调用 D0S中断调用采用寄存器传递参数 Windows操作系统提供了动态链接库DDL >利用应用程序接口API调用动态链接库中的函数 > Windows的API也曾被称为软件开发包SDK,16位和 32位 Windows的APⅠ分别被称为win16和win32 Windows应用程序利用堆栈传递参数
Win32汇编 16位DOS与32位Windows-3 对程序员来说, 操作系统由其提供的系统功能调用定义 ❖DOS操作系统为程序员提供中断服务程序 ❖以中断调用的方法进行系统功能调用 ❖DOS中断调用采用寄存器传递参数 ➢Windows操作系统提供了动态链接库DDL ➢利用应用程序接口API调用动态链接库中的函数 ➢ Windows的API也曾被称为软件开发包SDK,16位和 32位Windows的API分别被称为Win16和Win32 ➢Windows应用程序利用堆栈传递参数
Whn32汇编冂16位DOS与32位 Windows-4 ☆D0S下的程序以字符方式显示给用户 程序需要用户输入时,就停下来;用户不输入 就不再执行;而且,需要输入一个数据,用户 不能输入另一个数据。 Windows程序采用图形用户界面 它时刻等待用户的操作。用户的每个操作都会形 成消息( Message)传递给程序,程序则给予响应
Win32汇编 16位DOS与32位Windows-4 ❖DOS下的程序以字符方式显示给用户 ❖程序需要用户输入时,就停下来;用户不输入 就不再执行;而且,需要输入一个数据,用户 不能输入另一个数据。 ➢Windows程序采用图形用户界面 ➢它时刻等待用户的操作。用户的每个操作都会形 成消息(Message)传递给程序,程序则给予响应
Win32汇编 Win32ASM程序结构 个最简单的Win32汇编语言程序 显示标准 Windows消息窗口的程序 消息框显示:欢迎进入32位 Windows世界! 标题:Win32示例
Win32汇编 一个最简单的Win32汇编语言程序 显示标准Windows消息窗口的程序 消息框显示:欢迎进入32位Windows世界! 标题:Win32示例 Win32ASM程序结构
386 twine 12 model flat stdcall AP区别大小写 <option casemap: none include)\masm32\include\windows.inc include \masm32\includekernel32inc include masm32include\user32.inc includelib masm32\libkernel32lib dincludelib)\masm32\lib\user32.lib 包含AP函数的库文件 包含对系统常量和AP函数等的声明
.386 .model flat,stdcall option casemap:none include \masm32\include\windows.inc include \masm32\include\kernel32.inc include \masm32\include\user32.inc includelib \masm32\lib\kernel32.lib includelib \masm32\lib\user32.lib ltwin01- 1/2 API区别大小写 包含对系统常量和API函数等的声明 包含API函数的库文件
twine data 2/2 szCaption db"Win32示例',0 szText db欢迎进入32位 Windows世界!,0 code s七art: invoke (MessageBox NULL,\ addr szfext, addr/szCaption, MB OK invoke(ExitProcess NULL ends七ayt 返回操作系统AP调用 显示消息框AP调用
.data szCaption db 'Win32示例',0 szText db '欢迎进入32位Windows世界!',0 .code start: invoke MessageBox,NULL,\ addr szText, addr szCaption,MB_OK invoke ExitProcess,NULL end start ltwin01- 2/2 显示消息框API调用 返回操作系统API调用
Win32汇编 MASM32开发环境 Steve Hutchesson的免费软件包 ■编辑器 geditor:exe MASM6.14汇编程序和链接程序 相当完整的Wn32的包含文件、库文 件以及教程和示例等
Win32汇编 MASM32开发环境 Steve Hutchesson的免费软件包 ▪编辑器geditor.exe ▪ MASM 6.14汇编程序和链接程序 ▪相当完整的Win32的包含文件、库文 件以及教程和示例等
Win32汇编 MASM32的网络资源 Hutch的32位MASM第7版(masm327.zip) http://www.movsd.com Iczelion的Win32教程 http //spiff tr inet. se/iczel ion http://asm.yeahnet >API文档 http://www.microsoft.com/msdn
Win32汇编 MASM32的网络资源 ➢Hutch的32位MASM第7版(masm32v7.zip) http://www.movsd.com/ ➢Iczelion的Win32教程 http://spiff.tripnet.se/~iczelion http://asm.yeah.net/ ➢API文档 http://www.microsoft.com/msdn