ASM基础-汇编标识位

X86架构CPU的状态标识位有以下的几个:

CF:反映无符号运算是否产生进位或借位,是则CF=1,否则CF=0。
PF:反映运算结果低8位中1的个数,1的个数为偶数,则PF=1,否则PF=0。
AF:在字节操作时低半字节向高半字节进位或借位时,字操作时低字节向高字节进位或借位时,AF=1,否则AF=0。
ZF:反映运算结果是否为0,结果为0时ZF=1,否则ZF=0。
SF:反映运算结果是否为负,结果为负时SF=1,否则SF=0。
OF:反映有符号运算结果是否溢出,结果溢出时OF=1,否则OF=0。
IF:中断标志。

CF 是对于无符号数来讲, 运算过程中(看的是运算过程, 不关心结果)如果有进位(Add)或有借位(Sub)则 CF=1, 否则CF=0
对于加法相信很好理解, 我们来看看减法:
label1: mov eax, 2
cmp eax, 5
jc label1
上面的示例中, cmp 执行的是 eax - 5, 因为eax < 5 所以需要借位, 于是CF=1 JC 满足跳转到label1
所以 cmp R1, R2 与 JC结合, 判断的是 R1 … Read More

Linux 常用操作命令

打开端口
iptables -I INPUT -p tcp --dport 8888 -j ACCEPT
service iptables save
service iptables restart

关闭端口
iptables -I INPUT -p tcp --dport 8888 -j DROP
service iptables save
service iptables restart

后台运行命令, 输出重定向到info.log, 最后的&
意义为 当在前台运行某个作业时,终端被该作业占据;可以在命令后面加上& 实现后台运行
使用&命令后,作业被提交到后台运行,当前控制台没有被占用,但是一但把当前控制台关掉
(退出帐户时),作业就会停止运行。
nohup命令可以在你退出帐户之后继续运行相应的进程。nohup就是不挂起的意思( no hang up)。该命令的一般形式为:
nohup command &

nohup ./idea_amd64 info.log … Read More

PHPStorm + XDebug 调试设置

首先在PHP.ini中加入如下设置

[XDebug]
xdebug.profiler_output_dir="D:\phpStudy\PHPTutorial\tmp\xdebug"
xdebug.trace_output_dir="D:\phpStudy\PHPTutorial\tmp\xdebug"
zend_extension="D:\phpStudy\PHPTutorial\php\php-7.0.12-nts\ext\php_xdebug.dll"
xdebug.remote_host="127.0.0.1"
xdebug.remote_port=9900
xdebug.remote_enable=1

上面的目录路径请修改为自己的路径
然后重启Web服务器

PHPStrom中设置如下:
打开 File->Setting->Languages & Frameworks ->PHP->Debug

建立PHP工程, 调试设置如按下图设置
点击右边的小虫子Debug图标, 在相应的页面设置断点, 就可以开始调试了.
注意:
1. XDebug版本与PHP要对应, 不要下载错
Read More