<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[deng37021的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/deng37021</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; deng37021]]></copyright><item><title><![CDATA[php验证码类]]></title><link>https://blog.youkuaiyun.com/deng37021/article/details/102113246</link><guid>https://blog.youkuaiyun.com/deng37021/article/details/102113246</guid><author>deng37021</author><pubDate>Mon, 24 Oct 2016 11:59:00 +0800</pubDate><description><![CDATA[&lt;?php
class ctl_admin_captcha extends ssc_controler{
 public function index()    {        //加载验证码类并设置session        $captcha=$this-&gt;load-&gt;library('validatecode');        $captcha-&gt;g...]]></description><category></category></item><item><title><![CDATA[session原理]]></title><link>https://blog.youkuaiyun.com/deng37021/article/details/102113245</link><guid>https://blog.youkuaiyun.com/deng37021/article/details/102113245</guid><author>deng37021</author><pubDate>Mon, 04 Jul 2016 20:49:00 +0800</pubDate><description><![CDATA[1 http协议
http协议是无状态的，客户端请求，服务端响应，之后他们2个互不认识了。那怎么样才能让他们认识呢？用session实现
2 session是啥
session是一个会话，从用户打开网页到关闭网页这一段过程。
3 session工作原理
a.客户端请求服务端，服务端启动session，创建一个sessionid，通过返回的响应文件，设置本地的一个cookie的s...]]></description><category></category></item><item><title><![CDATA[php命名空间]]></title><link>https://blog.youkuaiyun.com/deng37021/article/details/102113244</link><guid>https://blog.youkuaiyun.com/deng37021/article/details/102113244</guid><author>deng37021</author><pubDate>Mon, 04 Jul 2016 20:26:00 +0800</pubDate><description><![CDATA[1.为啥需要命名空间
解决命名冲突问题。比如自己定义了一个类A，第三方也有一个类A，就可以对自己在类设置一个命名空间,MYCLASS,这样，访问自己在类时候，就MYCLASS\A这样访问，就不会冲突。
2 命名空间应用
lib1 and lib2是需要导入的类库

&lt;?php
// application library 1
namespace App\lib1;
...]]></description><category></category></item><item><title><![CDATA[汇编语言(王爽) 第11章 标志寄存器]]></title><link>https://blog.youkuaiyun.com/deng37021/article/details/102113243</link><guid>https://blog.youkuaiyun.com/deng37021/article/details/102113243</guid><author>deng37021</author><pubDate>Mon, 11 Apr 2016 21:12:00 +0800</pubDate><description><![CDATA[这里讲一个特殊的寄存器，flag
先看flag的16位显示


11.1 zf
指令执行后，结果0，ZF=1
指令执行后，结果不为0，ZF=0
11.2 pf
指令执行后，所有bit位中1的个数是否位偶数，若为偶数，那么pf=1
若为奇数，pf=0
11.3 sf
指令执行后，结果负，SF=1
指令执行后，结果不为负，SF=0
11.4 cf
进位
若出现进...]]></description><category></category></item><item><title><![CDATA[汇编语言(王爽) 第10章 call和ret]]></title><link>https://blog.youkuaiyun.com/deng37021/article/details/102113241</link><guid>https://blog.youkuaiyun.com/deng37021/article/details/102113241</guid><author>deng37021</author><pubDate>Mon, 11 Apr 2016 21:12:00 +0800</pubDate><description><![CDATA[这2个指令也是转移指令，一起用的时候有特效~~~~

10.1 ret and retf
ret 相当于pop ip 把栈顶的字弹出到ip
retf相当于先执行pop ip and pop cs
10.2 call
执行2步
1 先把IP或cs和ip推入栈中
2 转移到 标号或内存处
10.3 call 标号
call 标号
转移范围为-32768-32767
1...]]></description><category></category></item><item><title><![CDATA[汇编语言(王爽) 第9章转移指令的原理]]></title><link>https://blog.youkuaiyun.com/deng37021/article/details/102113242</link><guid>https://blog.youkuaiyun.com/deng37021/article/details/102113242</guid><author>deng37021</author><pubDate>Mon, 11 Apr 2016 21:11:00 +0800</pubDate><description><![CDATA[啥叫转移指令
修改IP或同时修改CS和IP的指令

只修改IP叫段内转移
同时修改CS和IP叫段间转移
段内转移又分为短转移和近转移
短转移 IP修改范围-128-127
近转移IP修改范围-32768-32767
基本的就上面的
9.1 offset 操作符
s1:mov bx,offset s1
s:mov ax,offset s
offset X就是取得X的...]]></description><category></category></item><item><title><![CDATA[汇编语言(王爽) 第8章数据处理的2个基本问题]]></title><link>https://blog.youkuaiyun.com/deng37021/article/details/102113239</link><guid>https://blog.youkuaiyun.com/deng37021/article/details/102113239</guid><author>deng37021</author><pubDate>Mon, 11 Apr 2016 21:10:00 +0800</pubDate><description><![CDATA[计算机进行数据处理的时候要知道2个基本问题

要处理的数据放在哪
要处理的数据多长

刚开始定义了2个描述性符号备用

reg和sreg
reg 表示一个寄存器如 ax,bx,cx,dx,ah.......sp,bp,si,di
sreg表示一个段寄存器 如 ds,ss,cs,es

8.1 bx,si,di,bp

只有这4个寄存器可以放在[]中间和段地址d...]]></description><category></category></item><item><title><![CDATA[汇编语言(王爽) 第7章 寻址方法]]></title><link>https://blog.youkuaiyun.com/deng37021/article/details/102113237</link><guid>https://blog.youkuaiyun.com/deng37021/article/details/102113237</guid><author>deng37021</author><pubDate>Mon, 11 Apr 2016 21:08:00 +0800</pubDate><description><![CDATA[这章讲一些寻址方法，对前面寻址方法的总结把

7.1 and or
2个指令 上栗子
mov al,00001111b
and al,11110000b
al=00000000b

mov al,00001111b
or al,11110000b
al=11111111b

7.2 ASCII码
之前就写过一篇ACSII码的，这里主要写下我们在键盘上按键再输...]]></description><category></category></item><item><title><![CDATA[汇编语言(王爽) 第6章包含多个段的程序]]></title><link>https://blog.youkuaiyun.com/deng37021/article/details/102113148</link><guid>https://blog.youkuaiyun.com/deng37021/article/details/102113148</guid><author>deng37021</author><pubDate>Mon, 11 Apr 2016 21:07:00 +0800</pubDate><description><![CDATA[程序到了内存中我们分为code（代码）段，也就是大部分指令段，数据段，栈
6.1 在代码段中使用数据


上图 dw表示define word定义一个字，16位
会出现cs执行的前16位是数据段，后面才是指令，所以要把IP设成10h
或者直接在第一条指令前面在start，再在最后面的end start
程序运行的第一条不是汇编指令可能会报错把
6.2 在代码段中使用栈
...]]></description><category></category></item><item><title><![CDATA[汇编语言(王爽) 第5章[BX]和loop指令]]></title><link>https://blog.youkuaiyun.com/deng37021/article/details/102113240</link><guid>https://blog.youkuaiyun.com/deng37021/article/details/102113240</guid><author>deng37021</author><pubDate>Mon, 11 Apr 2016 21:06:00 +0800</pubDate><description><![CDATA[mov ax,[0] 把一个内存单元给寄存器ax，内存单元长度2个字节，偏移地址0，段地址ds
mov al,[0] 把一个内存单元给寄存器al,内存单元长度1个字节，偏移地址0，段地址ds
so:要描述一个内存单元，需要1.ds和偏移地址2.内存单元长度
[bx]也表示一个内存单元，偏移地址在寄存器bx中罢了

我们用()表示一个寄存器或一个内存单元中的内容
()中可以是寄...]]></description><category></category></item><item><title><![CDATA[汇编语言(王爽) 第4章 第一个程序]]></title><link>https://blog.youkuaiyun.com/deng37021/article/details/102113146</link><guid>https://blog.youkuaiyun.com/deng37021/article/details/102113146</guid><author>deng37021</author><pubDate>Mon, 11 Apr 2016 21:06:00 +0800</pubDate><description><![CDATA[这章算是一个实践部分把，写 了一个汇编程序，并用debug去跟踪每条指令的进程，看寄存器和内存的变化，算是对之前的一个小总结把

4.1 源程序到执行的过程
一个汇编程序写好，要编译成目标文件，文件后缀是obj的，再链接形成exe后缀的，再接着去执行
4.2 源程序
直接上图把

伪指令由编译器执行，汇编指令由CPU执行
assume是伪指令，关联段寄存器和程序中用seg...]]></description><category></category></item><item><title><![CDATA[汇编语言(王爽) 第3章寄存器(内存访问)]]></title><link>https://blog.youkuaiyun.com/deng37021/article/details/102113233</link><guid>https://blog.youkuaiyun.com/deng37021/article/details/102113233</guid><author>deng37021</author><pubDate>Mon, 11 Apr 2016 21:05:00 +0800</pubDate><description><![CDATA[3.1 内存中的字
内存中的字是16位的，以2个内存单元存储
地址大的存高位（字的左边8位），地址小的存低位（字的右边8位）
字单元：存放1个字形数据的内存单元，由2个内存单元组成，共16位

3.2 DS
一个寄存器的名字，用来放数据段的段地址
mov 指令可以把数据转到寄存器，一个寄存器的内容转到另一个寄存器，内存单元（字单元）转到寄存器
但是一般会mov ax,10...]]></description><category></category></item><item><title><![CDATA[汇编语言(王爽) 第2章 寄存器]]></title><link>https://blog.youkuaiyun.com/deng37021/article/details/102113238</link><guid>https://blog.youkuaiyun.com/deng37021/article/details/102113238</guid><author>deng37021</author><pubDate>Mon, 11 Apr 2016 21:04:00 +0800</pubDate><description><![CDATA[CPU由运算器，控制器，寄存器等器件组成
汇编指令可以操作寄存器中的数据。如mov AX,BX就是把寄存器BX中的值加上寄存器AX中的值，再把结果放在AX上
8086CPU的寄存器的有14个，这里就讲AX,BX,CX,DX,CS,IP这么几个先

2.1通用寄存器
就是指AX,BX,CX,DX
用来存放一般数据
如AX是16位，但是8086CPU之前的一代是8位的，所以AX...]]></description><category></category></item><item><title><![CDATA[汇编语言(王爽) 第1章基础知识]]></title><link>https://blog.youkuaiyun.com/deng37021/article/details/102113235</link><guid>https://blog.youkuaiyun.com/deng37021/article/details/102113235</guid><author>deng37021</author><pubDate>Mon, 11 Apr 2016 21:03:00 +0800</pubDate><description><![CDATA[1.1 机器语言
机器语言就是机器指令的集合。机器指令是啥呢？就是一列二进制的数据，计算机把它转成高低电平，使计算机的其他器件驱动并运算。（计算机如何使用2进制语言？）
早期程序都是用机器语言写的，但是有个问题就是太麻烦，数据信息太长，写错一个0或1就会来BUG了。
这种机器语言根本不是人写的，注定会被淘汰。

1.2 汇编语言
这个时候，汇编语言就挺身而出。
汇编语言就是...]]></description><category></category></item><item><title><![CDATA[数据结构-链表]]></title><link>https://blog.youkuaiyun.com/deng37021/article/details/102113234</link><guid>https://blog.youkuaiyun.com/deng37021/article/details/102113234</guid><author>deng37021</author><pubDate>Mon, 04 Apr 2016 20:56:00 +0800</pubDate><description><![CDATA[今天写抽象数据类型的表
抽象数据类型(ADT)是个啥？
就是定义了一块数学模型和对这块数学模型的操作。
现在就讲下今天的大头，LIST ADT
从最表的最简单格式讲
数组
数组的数学模型就是arr=[1,2,3];
数组的操作就是打印数组，查找元素，这些操作可以自己添加，比如找previous或者next.
数组有个啥问题呢？就是删除和添加的时候，需要对整个数组大动干戈。...]]></description><category></category></item><item><title><![CDATA[C修饰符]]></title><link>https://blog.youkuaiyun.com/deng37021/article/details/102113236</link><guid>https://blog.youkuaiyun.com/deng37021/article/details/102113236</guid><author>deng37021</author><pubDate>Sun, 03 Apr 2016 10:46:00 +0800</pubDate><description><![CDATA[这里主要讲指针修饰符，推导处所有修饰符的使用方法
先介绍下内存的分布，内存可以看做是有变量名，变量名地址和变量值组成的3部分，其实变量名和变量地址可以看成一个东西
先从最简单的开始看把

int p

这句话声明了一个变量名p，变量名p的值（往左移动是数据类型），变量值是int的数据类型
再看单一指针

int *p

这句话声明了一个变量名p，变量名p的值（往左移...]]></description><category></category></item><item><title><![CDATA[C处理数据的三个特性]]></title><link>https://blog.youkuaiyun.com/deng37021/article/details/102113231</link><guid>https://blog.youkuaiyun.com/deng37021/article/details/102113231</guid><author>deng37021</author><pubDate>Sun, 03 Apr 2016 10:34:00 +0800</pubDate><description><![CDATA[C在处理数据方面有多种方案，这里写书上的3种
联合
和结构差不多，也需要联合声明和定义联合变量

union hold{
   int digit;
   double b;
   char letter;  
}union hold a;

需要注意的是对联合来说，同一存储空间可以存储不同的数据类型，但是同一时刻不同存储不停的类型，就比如有一个联合变量a，a已经用来...]]></description><category></category></item><item><title><![CDATA[C结构]]></title><link>https://blog.youkuaiyun.com/deng37021/article/details/102113232</link><guid>https://blog.youkuaiyun.com/deng37021/article/details/102113232</guid><author>deng37021</author><pubDate>Sat, 02 Apr 2016 21:16:00 +0800</pubDate><description><![CDATA[今天就写下C结构吧
C的结构分为2部分，声明结构和定义结构变量
声明结构
先讲声明结构把，直接上声明结构的格式

struct book {
    char title[40] ;
    char author[40];
    float value
}

C结构说白了就是js的对象把，这个东西的存在就是为了将不用数据类型的数据放在一起。放在一起之后怎么才能找...]]></description><category></category></item><item><title><![CDATA[C内存分配]]></title><link>https://blog.youkuaiyun.com/deng37021/article/details/102113229</link><guid>https://blog.youkuaiyun.com/deng37021/article/details/102113229</guid><author>deng37021</author><pubDate>Fri, 01 Apr 2016 21:26:00 +0800</pubDate><description><![CDATA[今天就很简单地写下C的内存分配问题
理想化的情况下，C的内存分配有3部分
分别是静态变量的内存，自动变量的内存，动态分配的内存
静态变量内存
在程序编译的时候知道的内存数量，这些数据在整个程序运行的时间都是可用的，lifetime是整个运行周期
自动变量的内存
进入代码块的变量定义的地方，为变量分配内存，代码块结束的时候，自动把内存释放了。lifetime是代码块内部
动态...]]></description><category></category></item><item><title><![CDATA[C变量存储]]></title><link>https://blog.youkuaiyun.com/deng37021/article/details/102113228</link><guid>https://blog.youkuaiyun.com/deng37021/article/details/102113228</guid><author>deng37021</author><pubDate>Thu, 31 Mar 2016 22:18:00 +0800</pubDate><description><![CDATA[今天写C的变量怎么在电脑中存储的
存储类
存储模型：由3块组成。作用域，链接，存储时期。
存储模型可以赋给一个变量，这个变量就有了这3块的不同组合。
先讲3个概念，作用域，链接，存储时期
作用域：
C有3种作用域：代码块作用域，函数原型作用域，文件作用域。
函数内:一个函数内的变量（包括形参）作用域为函数的代码块内部，外面看不见。
函数外:函数块外部的变量是文件作用域的，...]]></description><category></category></item></channel></rss>