放牧代码和思想
专注自然语言处理、机器学习算法
    Why join the Navy if you can be a pirate?

汇编逆向

Win64下RadASM运行16位DOS程序

Win64下RadASM运行16位DOS程序

hankcs阅读(3320)评论(3)

最近捡起8086汇编,用RadASM编译连接构建之后无法运行,提示“不支持的16位应用程序”。这才想起时过境迁,Win64已经废弃了对16位程序的支持,甚至连debug都废除了。作为老牌RadASM用户,我自然不甘心在虚拟机写汇编,于是摸索...

rep movsb的作用

rep movsb的作用

hankcs阅读(2797)评论(0)

还是简单地说啦,就是把 ESI 所指地址的ECX个字节搬移到以EDI 所指的地址开头的等长内存里头。记不记得 DS:SI 和 ES:DI 这两对寄存器?对头,这一个指令下去ESI和EDI都会变,同时执行前千万不要忘了cld。  知...

rep stosb的作用

rep stosb的作用

hankcs阅读(2799)评论(1)

简单地说rep stosb就是从EDI所指的内存开始,将连续的ECX个字节写成AL的内容,多用于清零等 举个例子:假设此时我声明了一个变量          &...

X86汇编浮点计算为何要finit

X86汇编浮点计算为何要finit

hankcs阅读(1384)评论(0)

每当执行一个新的浮点程序时,第一条指令都应该是初始化FPU的指令finit。该指令清除浮点数据寄存器栈和异常,为程序提供一个“干净”的初始状态。否则,遗留在浮点寄存器栈中的数据可能会产生堆栈溢出。另一方面,浮点指令程...

8086汇编命令速查

8086汇编命令速查

hankcs阅读(1234)评论(0)

一、数据传输指令 ───────────────────────────────────────      它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据.    ...

我的开源项目

HanLP自然语言处理包基于DoubleArrayTrie的Aho Corasick自动机