2011年9月21日
摘要: From:http://www.cnblogs.com/strugglever/求负数补码真值的思想 补码由01表示的符号位和真值绝对值的补数构成。真值等于模减去数值部分的值再加上符号。在形式上正好是1M=1N-M(M表示01串,N表示0串,M与N的长度相等),相当于将1后面的位全部拿走,然后用0补上,再减去拿走的位。以8位负数补码10000000为例 符号是最前面的1所表示的负号数值=10000000(0的个数等于数值位的位数)-0000000(不包括符号位的部分)=10000000(十进制的128)所以,补码10000000的真值就是-128. 阅读全文
posted @ 2011-09-21 00:17 strugglEver 阅读(1319) 评论(0) 推荐(0) 编辑
  2011年7月22日
摘要: From:http://www.cnblogs.com/strugglever/ make工作原理 关键思想:建立依赖关系树,递归地用依赖文件去更新目标文件,以使整个树最新,也就是所谓的牵一发而动全身。具体规则:对于某个模式规则,1.若目标不存在:1.1且没有依赖文件:执行命令,哪怕有一丝希望也要产生目标。1.2且有依赖文件:先递归处理其所有依赖的模式规则,再执行命令。2. 若目标存在:2.1且没有依赖文件:什么都不做,认为目标是最新的。2.2且有依赖文件:先递归处理其所有依赖的模式规则,再比较目标文件和依赖文件。a. 若没有一个比目标更新:什么都不做,目标已经是最新的。b. 若至少有一... 阅读全文
posted @ 2011-07-22 00:58 strugglEver 阅读(479) 评论(0) 推荐(0) 编辑
  2011年7月16日
摘要: From:http://www.cnblogs.com/strugglever/"""""""""""""""""""""""""""""""""""""""""""&q 阅读全文
posted @ 2011-07-16 17:42 strugglEver 阅读(213) 评论(0) 推荐(0) 编辑
摘要: From:http://www.cnblogs.com/strugglever/调用函数的代码 1.调用函数的逻辑代码 2.函数调用代码 a.将参数值存入寄存器 b.跳转 push eip(压入返回地址,即函数调用返回后要执行的下一条指令的地址) mv eip 函数的地址(将eip设置为被调用函数的地址,执行其代码区指令)3.调用函数的逻辑代码被调用函数的代码 1.压入函数栈帧 pushebp(压入旧栈帧的底部) movebp,esp(设置新栈帧的底部) subesp,xxx(设置新栈帧的顶部)2.被调用函数的逻辑(如果有返回值的话,存入寄存器)3.... 阅读全文
posted @ 2011-07-16 16:35 strugglEver 阅读(217) 评论(0) 推荐(0) 编辑