该程序模拟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
上传用户:变形金刚
pam我们考虑常见的插值(抽取)运算和滤波器级联的情形,在实际的插值(余 :)运算中,为了避免信号在经过插值(抽取)后出现混盛现象,保证能无失多 恢复信号,我们常常在插值运算之后(抽取运算之前)加上插值(抽取)滤公 时信号进行带限,如图2.10左边所示。
上传时间: 2015-10-11
上传用户:1966640071
利用Matlab编写求取4级移位寄存器的M序列 设初始序列为:1 1 1 1 通过一个四级的移位寄存器,其中在第三级有负反馈(一个模二加法),即将序列的第三位和第四位相加(如序列1 1 1 1经移位寄存器第一次移位后为0 1 1 1)的值再赋到第一位. 序列的周期为16.
上传时间: 2016-02-14
上传用户:tfyt
使用pid方法控制单级倒立摆,解压后把两个文件放在同一个文件夹里双击nn_pid.m就行了
上传时间: 2016-03-15
上传用户:aeiouetla
在桓丰的44b0上使用16灰级的240*320显示屏显示特定照片,下载到板上后,可以循环播放文件夹里面的图片,开发者自己也可以替换符合要求的图片,
上传时间: 2016-03-20
上传用户:LIKE
研究Linuxkernel exploit的必要性。读后可以解决许多实际问题,写出exploit级别的knerl
标签: Linuxkernel exploit 实际问题
上传时间: 2013-12-31
上传用户:weixiao99
在任务级并行平台P2HP上开发的demo应用,即并行蛋白质折叠程序;它是将串行PH算法在P2HP上并行化后而得到的结果。
上传时间: 2014-01-16
上传用户:qoovoop
在一些初始化处理后,MD5以512位分组来处理输入文本,每一分组又划分为16个32位子分组。算法的输出由四个32位分组组成,将它们级联形成一个128位散列值。 首先填充消息使其长度恰好为一个比512位的倍数仅小64位的数。填充方法是附一个1在消息后面,后接所要求的多个0,然后在其后附上64位的消息长度(填充前)。这两步的作用是使消息长度恰好是512位的整数倍(算法的其余部分要求如此),同时确保不同的消息在填充后不相同。 四个32位变量初始化为:
标签: 初始化
上传时间: 2014-12-20
上传用户:cccole0605
实现级联菜单的功能,通过连接数据库主表与从表,使前一个菜单为主菜单,后一个为子菜单
上传时间: 2016-12-08
上传用户:lht618
最优客运乘车路线系统 --作者:山东农业大学 2006级信息与计算科学 张知临 --小组成员:彭建,姜明艳,董晓聪 --联系方式:邮箱: zhzhl202@163.com QQ:421525432 这是一个完全成型的查询系统。其算法全部写在了数据库中,并编译成了存储过程, 其中存储过程"zuiyou"是优化后的算法,"zuiyou1"是将原算法稍加改变以后形成的算法。 执行存储过程,只需先将该数据库附加到MS-SQL中,在SQL 查询分析器中执行下列语句: exec zuiyou1 北京 , 广州 如要编成软件,只需要调用其存储过程,在该文件中有一个用delphi 调用其存储过程而做成的软件,使用时需先将数据库附加到服务器上 然后将“dbsetting”文件配置为自己的服务器。 解压密码:zhzhl202@163.com 仅供学习研究,严禁用于其他商业用途!
上传时间: 2017-03-18
上传用户:netwolf