该程序模拟UNIX中save与resume函数,并介绍在VC中如何使用汇编进行机器级的操作. 主函数很简单首先引入两个外部函数,extern "C"表示按传统C命名习惯.函数save将程序指针保存在(*s)中并返回0,为什么有 if(save(&sp)){...} if后的语句看起来永远都不会被执行,但是运行结果表明它被执行了.这个问题同UNIX中处理机调度函数(switch)的那个if语句(第一句)一样. 程序执行完save(&sp)后得到因为条件为假而执行else语句,却在判断之前将程序指针保存在sp中了. else语句中的resume(&sp),该函数很狡猾将堆栈中的返回地址改变了,改到了sp所指出,即将程序指针改到了执行条件判断前.resume返回1,条件满足,执行if语句. save函数堆栈: eip ebp+8 s ebp+4 ebp ebp+0 resume函数堆栈与save的相同. 新建一个win32的工程,将unixc.cpp和unix.obj加入过程即可. unix.obj是用masm6.11生成的:ml /c /coff unix.asm,生成coff格式的obj而不是omf格式.
上传时间: 2015-09-10
上传用户:变形金刚
学生档案系统 主类StudentManager 录入界面StudentSituation,进行学生的登陆 查询界面Inquest ,查询已有的学生 修改界面ModifySituation,修改已有的学生的界面 删除界面Delete,删除学生的界面 学生对象Student
标签: StudentSituation StudentManager 档案系统
上传时间: 2015-09-10
上传用户:二驱蚊器
语音录放范例及原代码希望楼主给我加些分,以后我会多传些好东西上去
上传时间: 2015-09-12
上传用户:zjf3110
主要是matlab概率统计工具箱的介绍.
上传时间: 2015-09-13
上传用户:windwolf2000
介绍磁性变压器的参数和应用,对一于了解该类产品很有用
上传时间: 2015-09-14
上传用户:yuchunhai1990
IPOD 音响 主要是将IPOD 音乐通过 功放放大
上传时间: 2013-12-18
上传用户:hopy
摘要:从包过滤和应用代理防火墙技术入手,结合主机型和边界型防火墙的特点,对过滤网上不良数据的实现方法进行 了具体分析,总结不同方法的特点和不足,为基于防火墙的数据过滤技术的进一步研究打下基础。 关键词:包过滤 应用代理 SPI NDIS TIS/ FWTK
上传时间: 2015-09-15
上传用户:lili123
本文件概要介绍组成 Example 应用程序的每个文件的内容。 Example.vcproj 这是使用应用程序向导生成的 VC++ 项目的主项目文件。 它包含生成该文件的 Visual C++ 的版本信息,以及有关使用应用程序向导选择的 平台、配置和项目功能的信息。 Example.cpp 这是主应用程序源文件。 包含用于显示窗体的代码。 Form1.h 包含窗体类的实现和 InitializeComponent() 函数。 AssemblyInfo.cpp 包含用于修改程序集元数据的自定义属性。
标签: Example vcproj Visual 应用程序
上传时间: 2013-12-17
上传用户:上善若水
基于主元分析和神经网络的人脸识别方法.pdf
上传时间: 2014-01-22
上传用户:thuyenvinh
msp430初始化文件 提供主时钟 子时钟 辅助时钟的初始化
上传时间: 2015-09-20
上传用户:685