`
gaoyabing
  • 浏览: 510 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

[No.000001]2015-01-07汇编复习

阅读更多

[No.000001]2015-01-07汇编复习

 

  最近比较了好多写博客的网站,感觉还是博客园比较人性化,自由度比较大,所以打算定居下来。

 

  接下来打算要破解一个软件,所以今天复习了一下汇编,现在分享一下学习过程,同时把其他地方的博客都整理清空

 

  感觉还可以的几个写博客的网址:

 

 

  其他的要么不适合IT,要么使用不方便,权限和自由度(如网页的设计,背景模块的添加等)不大:

 

 

下面这个赶集有点小清新:

 

轻博客:http://qing.blog.sina.com.cn/CharyGao

 

言归正传:

 

汇编指令速查

指令

功能

 

指令

功能

 

指令

功能

 

指令

功能

 

指令

功能

AAA

调整加

 

FDIV

浮点除

 

INC

加一

 

PAND

媒体与

 

SETNG

不大于置位

AAD

调整除

 

FDIVP

浮点除出栈

INSB

端口输入字节串

 

PANDN

媒体与非

 

SETNL

不小于置位

AAM

调整乘

 

FDIVR

浮点反除

 

INSD

端口输入双字串

 

PAVEB

 

 

SETNO

不溢出置位

AAS

调整减

 

FDIVRP

浮点反除出栈

INSW

端口输入字串

 

PCMPEQB

媒体字节比等

 

SETNP

非奇偶置位

ADC

进位加

 

FENI

浮点检查禁止中断二

JA

高于跳转

 

PCMPEQD

媒体双字比等

 

SETNS

非负置位

ADD

 

FFREE

浮点释放

 

JB

低于跳转

 

PCMPEQW

媒体字比等

 

SETO

溢出置位

AND

 

FFREEP

浮点释放出栈

JBE

不高于跳转

 

PCMPGTB

媒体字节比大

 

SETP

奇偶置位

ARPL

调整优先级

 

FIADD

浮点加整数

JCXZ

计数一六零跳转

 

PCMPGTD

媒体双字比大

 

SETS

负号置位

BOUND

检查数组

 

FICOM

浮点比较整数

JE

相等跳转

 

PCMPGTW

媒体字比大

 

SGDT

保存全局描述符

BSF

位右扫描

 

FICOMP

浮点比较整数出栈

JECXZ

计数三二零跳转

 

PDISTIB

 

 

SHL

逻辑左移

BSR

位左扫描

 

FIDIV

浮点除整数

JG

大于跳转

 

PMACHRIW

 

 

SHLD

双精度左移

BSWAP

交换字节

 

FIDIVR

浮点反除

 

JL

小于跳转

 

PMADDWD

 

 

SHR

逻辑右移

BT

位测试

 

FILD

浮点加载整数

JMP

跳转

 

PMAGW

 

 

SHRD

双精度右移

BTC

位测试求反

 

FIMUL

浮点乘整数

JMPE

跳转扩展

 

PMULHRIW

 

 

SIDT

保存中断描述符

BTR

位测试清零

 

FINCSTP

浮点栈针加一

JNB

不低于跳转

 

PMULHRWC

 

 

SLDT

保存局部描述符

BTS

位测试置一

 

FINIT

浮点检查初始化

JNE

不等跳转

 

PMULHW

 

 

SMI

 

CALL

过程调用

 

FIST

浮点保存整数

JNG

不大于跳转

 

PMVGEZB

 

 

SMINT

 

CBW

转换字节

 

FISTP

浮点保存整数出栈

JNL

不小于跳转

 

PMVLZB

 

 

SMINTOLD

 

CDQ

转换双字

 

FISTTP

 

 

JNO

不溢出跳转

 

PMVNZB

 

 

SMSW

保存状态字

CLC

进位清零

 

FISUB

浮点减整数

JNP

非奇偶跳转

 

PMVZB

 

 

STC

进位设置

CLD

方向清零

 

FISUBR

浮点反减整数

JNS

非负跳转

 

POP

出栈

 

STD

方向设置

CLI

中断清零

 

FLD

浮点加载数

JO

溢出跳转

 

POPA

全部出栈

 

STI

中断设置

CLTS

任务清除

 

FLD1

浮点加载一

JP

奇偶跳转

 

POPF

标志出栈

 

STOSB

保存字节串

CMC

进位求反

 

FLDCW

浮点加载控制器

JS

负号跳转

 

POR

媒体或

 

STOSD

保存双字串

CMOVA

高于传送

 

FLDENV

浮点加载环境

LAHF

加载标志低八

 

PSLLD

媒体双字左移

 

STOSW

保存字串

CMOVB

低于传送

 

FLDL2E

浮点加载L2E

LAR

加载访问权限

 

PSLLQ

媒体四字左移

 

STR

保存任务

CMOVE

相等传送

 

FLDL2T

浮点加载L2T

LDS

加载数据段

 

PSLLW

媒体字左移

 

SUB

CMOVG

大于传送

 

FLDLG2

浮点加载LG2

LEA

加载有效地址

 

PSRAD

媒体双字算术右移

 

SYSCALL

系统调用

CMOVL

小于传送

 

FLDLN2

浮点加载LN2

LEAVE

清除过程堆栈

 

PSRAW

媒体字算术右移

 

SYSENTER

系统进入

CMOVNA

不高于传送

 

FLDPI

浮点加载PI

LES

加载附加段

 

PSRLD

媒体双字右移

 

SYSEXIT

系统退出

CMOVNB

不低于传送

 

FLDZ

浮点加载零

LFS

加载标志段

 

PSRLQ

媒体四字右移

 

SYSRET

系统返回

CMOVNE

不等传送

 

FMUL

浮点乘

 

LGDT

加载全局描述符

 

PSRLW

媒体字右移

 

TEST

数测试

CMOVNG

不大于传送

 

FMULP

浮点乘出栈

LGS

加载全局段

 

PSUBB

媒体截断字节减

 

UD0

未定义指令0

CMOVNL

不小于传送

 

FNCLEX

浮点不检查错误清除

LIDT

加载中断描述符

 

PSUBSB

媒体符号饱和字节减

 

UD1

未定义指令1

CMOVNO

不溢出传送

 

FNDISI

浮点不检查禁止中断

LMSW

加载状态字

 

PSUBSIW

 

 

UD2

未定义指令2

CMOVNP

非奇偶传送

 

FNENI

浮点不检查禁止中断二

LOADALL

加载所有

 

PSUBSW

媒体符号饱和字减

 

UMOV

 

CMOVNS

非负传送

 

FNINIT

浮点不检查初始化

LOADALL286

加载所有286

 

PSUBUSB

媒体无符号饱和字节减

 

VERW

校验写

CMOVO

溢出传送

 

FNOP

浮点空

 

LOCK

 

PSUBUSW

媒体无符号饱和字减

 

WAIT

CMOVP

奇偶传送

 

FNSAVE

浮点不检查保存状态

LODSB

加载源变址字节串

 

PSUBW

媒体截断字减

 

WBINVD

回写无效高速缓存

CMOVS

负号传送

 

FNSTCW

浮点不检查保存控制器

LODSD

加载源变址双字串

 

PUNPCKHBW

媒体字节高位解压

 

WRMSR

写专用模式

CMP

比较

 

FNSTENV

浮点不检查保存环境

LODSW

加载源变址字串

 

PUNPCKHDQ

媒体双字高位解压

 

WRSHR

 

CMPSB

比较字节串

 

FNSTSW

浮点不检查保存状态器

LOOP

计数循环

 

PUNPCKHWD

媒体字高位解压

 

XADD

交换加

CMPSD

比较双字串

 

FPATAN

浮点部分反正切

LOOPE

相等循环

 

PUNPCKLBW

媒体字节低位解压

 

XBTS

 

CMPSW

比较字串

 

FPREM

浮点部分余数

LOOPNE

不等循环

 

PUNPCKLDQ

媒体双字低位解压

 

XCHG

交换

CMPXCHG

比较交换

 

FPREM1

浮点部分余数二

LOOPNZ

非零循环

 

PUNPCKLWD

媒体字低位解压

 

XLAT

换码

CMPXCHG486

比较交换486

 

FPTAN

浮点部分正切

LOOPZ

为零循环

 

PUSH

压栈

 

XOR

异或

CMPXCHG8B

比较交换8字节

 

FRNDINT

浮点舍入求整

LSL

加载段界限

 

PUSHA

全部压栈

 

XSTORE

 

CPUID

CPU标识

 

FRSTOR

浮点恢复状态

LSS

加载堆栈段

 

PUSHF

标志压栈

     

CWD

转换字

 

FSAVE

浮点检查保存状态

LTR

加载任务

 

RCL

进位循环左移

     

CWDE

扩展字

 

FSCALE

浮点比例运算

MONITOR

监视

 

RCR

进位循环右移

     

DAA

调整加十

 

FSETPM

浮点设置保护

MOV

传送

 

RDMSR

读专用模式

     

DAS

调整减十

 

FSIN

浮点正弦

 

MOVED

媒体双字传送

 

RDPMC

读执行监视计数

     

DEC

减一

 

FSINCOS

浮点正余弦

MOVEQ

媒体四字传送

 

RDSHR

       

DIV

 

FSQRT

浮点平方根

MOVSB

传送字节串

 

RDTSC

读时间戳计数

     

EMMS

媒体空MMX状态

 

FST

浮点保存

 

MOVSD

传送双字串

 

REP

重复

     

ENTER

建立堆栈帧

 

FSTCW

浮点检查保存控制器

MOVSW

传送字串

 

REPE

相等重复

     

F2XM1

浮点栈顶绝对值

 

FSTENV

浮点检查保存环境

MOVSX

符号传送

 

REPNE

不等重复

     

FADD

浮点加

 

FSTP

浮点保存出栈

MOVZX

零传送

 

RET

过程返回

     

FADDP

浮点加出栈

 

FSTSW

浮点检查保存状态器

MUL

 

RETF

远过程返回

     

FBLD

浮点加载十数

 

FSUB

浮点减

 

MWAIT

   

RETN

近过程返回

     

FBSTP

浮点保存十数出栈

FSUBP

浮点减出栈

NEG

求补

 

ROL

循环左移

     

FCHS

浮点正负求反

 

FSUBR

浮点反减

 

NOP

 

ROR

循环右移

     

FCLEX

浮点检查错误清除

FSUBRP

浮点反减出栈

NOT

 

RSM

恢复系统管理

     

FCMOVB

浮点低于传送

 

FTST

浮点比零

 

OR

 

SAHF

恢复标志低八

     

FCMOVBE

浮点不高于传送

 

FUCOM

浮点无序比较

OUT

端口输出

 

SAL

算术左移

     

FCMOVE

浮点相等传送

 

FUCOMI

浮点反比加载标志

OUTSB

端口输出字节串

 

SALC

       

FCMOVNB

浮点不低于传送

 

FUCOMIP

浮点反比加载标志出栈

OUTSD

端口输出双字串

 

SAR

算术右移

     

FCMOVNBE

浮点高于传送

 

FUCOMP

浮点无序比较出栈

OUTSW

端口输出字串

 

SBB

借位减

     

FCMOVNE

浮点不等传送

 

FUCOMPP

浮点无序比较出栈二

PACKSSDW

媒体符号双字压缩

 

SCASB

扫描字节串

     

FCMOVNU

浮点有序传送

 

FWAIT

浮点等

 

PACKSSWB

媒体符号字压缩

 

SCASD

扫描双字串

     

FCMOVU

浮点无序传送

 

FXAM

浮点检查

 

PACKUSWB

媒体无符号字压缩

 

SCASW

扫描字串

     

FCOM

浮点比较

 

FXCH

浮点交换

 

PADDB

媒体截断字节加

 

SETA

高于置位

     

FCOMI

浮点比较加载标志

FXTRACT

浮点分解

 

PADDD

媒体截断双字加

 

SETB

低于置位

     

FCOMIP

浮点比较加载标志出栈

FYL2X

浮点求L2X

PADDSB

媒体符号饱和字节加

 

SETE

相等置位

     

FCOMP

浮点比较出栈

 

FYL2XP1

浮点求L2XP1

PADDSIW

 

 

SETG

大于置位

     

FCOMPP

浮点比较出栈二

 

HLT

 

PADDSW

媒体符号饱和字加

 

SETL

小于置位

     

FCOS

浮点余弦

 

IDIV

符号整除

 

PADDUSB

媒体无符号饱和字节加

 

SETNA

不高于置位

     

FDECSTP

浮点栈针减一

 

IMUL

符号乘法

 

PADDUSW

媒体无符号饱和字加

 

SETNB

不低于置位

     

FDISI

浮点检查禁止中断

IN

端口输入

 

PADDW

媒体截断字加

 

SETNE

不等置位

     

   <点击图片,查看大图>

  最后,摘抄我从其他博客上整理的一篇我很喜欢的文章:

 

《一切都是最好的安排》

 

  从前有一个国家,地不大,人不多,但是人民过着悠闲快乐的生活,因为他们有一位不喜欢做事的国王和一位不喜欢做官的宰相。

  国王没有什么不良嗜好,除了打猎以外,最喜欢与宰相微服私访民隐。

  宰相除了处理国务以外,就是陪着国王下乡巡视,如果是他一个人的话,他最喜欢研究宇宙人生的真理,他最常挂在嘴边的一句话就是「一切都是最好的安排」。

  有一次,国王兴高采烈又到大草原打猎,随从们带着数十条猎犬,声势浩荡。

  国王的身体保养得非常好,筋骨结实,而且肌肤泛光,看起来就有一国之君的气派。随从看见国王骑在马上,威风凛凛地追逐一头花豹,都不禁赞叹国王勇武过人!

  花豹奋力逃命,国王紧追不舍,一直追到花豹的速度减慢时,国王才从容不迫弯弓搭箭,瞄准花豹,嗖的一声,利箭像闪电似的,一眨眼就飞过草原,不偏不倚钻入花豹的颈子,花豹惨嘶一声,仆倒在地。

  国王很开心,他眼看花豹躺在地上许久都毫无动静,一时失去戒心,居然在随从尚未赶上时,就下马检视花豹。

  谁想到,花豹就是在等待这一瞬间,使出最后的力气突然跳起来向国王扑过来。

  国王一愣,看见花豹张开血盆大口咬来,他下意识地闪了一下,心想:「完了!」

  还好,随从及时赶上,立刻发箭射入花豹的咽喉,国王觉得小指一凉,花豹就不吭声地跌在地上,这次真的死了。

  随从忐忑不安走上来询问国王是否无恙,国王看看手,小指头被花豹咬掉小半截,血流不止,随行的御医立刻上前包扎。虽然伤势不算严重,但国王的兴致破坏光了,本来国王还想找人来责骂一番,可是想想这次只怪自己冒失,还能怪谁?所以闷不吭声,大伙儿就黯然回宫去了。

  回宫以后,国王越想越不痛快,就找了宰相来饮酒解愁。

  宰相知道了这事后,一边举酒敬国王,一边微笑说:「大王啊!少了一小块肉总比少了一条命来得好吧!想开一点,一切都是最好的安排!」

  国王一听,闷了半天的不快终于找到宣泄的机会。他凝视宰相说:「嘿!你真是大胆!你真的认为一切都是最好的安排吗?」

  宰相发觉国王十分愤怒,却也毫不在意说:「大王,真的,如果我们能够超越『我执』,确确实实,一切都是最好的安排!」

  国王说:「如果寡人把你关进监狱,这也是最好的安排?」

  宰相微笑说:「如果是这样,我也深信这是最好的安排。」

  国王说:「如果寡人吩咐侍卫把你拖出去砍了,这也是最好的安排?」

  宰相依然微笑,彷佛国王在说一件与他毫不相干的事。

  「如果是这样,我也深信这是最好的安排。」

  国王勃然大怒,大手用力一拍,两名侍卫立刻近前,他们听见国王说:「你们马上把宰相抓出去斩了!」

  侍卫愣住,一时不知如何反应。

  国王说:「还不快点,等什么?」

  侍卫如梦初醒,上前架起宰相,就往门外走去。

  国王忽然有点后悔,他大叫一声说:「慢着,先抓去关起来!」

  宰相回头对他一笑,说:「这也是最好的安排!」

  国王大手一挥,两名侍卫就架着宰相走出去了。

  过了一个月,国王养好伤,打算像以前一样找宰相一块儿微服私巡,可是想到是自己亲口把他关入监狱里,一时也放不下身段释放宰相,叹了口气,就自己独自出游了。

  走着走着,来到一处偏远的山林,忽然从山上冲下一队脸上涂着红黄油彩的蛮人,三两下就把他五花大绑,带回高山上。

  国王这时联想到今天正是满月,这一带有一支原始部落每逢月圆之日就会下山寻找祭祀满月女神的牺牲。

  他哀叹一声,这下子真的是没救了。心里很想跟蛮人说:我乃这里的国王,放了我,我就赏赐你们金山银海!可是嘴巴被破布塞住,连话都说不出口。

  当他看见自己被带到一口比人还高的大锅炉,柴火正熊熊燃烧,更是脸色惨白。

  大祭司现身,当众脱光国王的衣服,露出他细皮嫩肉的龙体,大祭司啧啧称奇,想不到现在还能找到这么完美无暇的牺牲!

  原来,今天要祭祀的满月女神,正是「完美」的象征,所以,祭祀的牲品丑一点、黑一点、矮一点都没有关系,就是不能残缺。

  就在这时,大祭司终于发现国王的左手小指头少了小半截,他忍不住咬牙切齿咒骂了半天,忍痛下令说:「把这个废物赶走,另外再找一个!」

  脱困的国王大喜若狂,飞奔回宫,立刻叫人释放宰相,在御花园设宴,为自己保住一命、也为宰相重获自由而庆祝。

  国王一边向宰相敬酒说:「爱卿啊!你说的真是一点也不错,果然,一切都是最好的安排!如果不是被花豹咬一口,今天连命都没了。」

  宰相回敬国王,微笑说:「贺喜大王对人生的体验又更上一层楼了。」

  过了一会儿,国王心念一动,问宰相说:「寡人救回一命,固然是『一切都是最好的安排』,可是你无缘无故在监狱里蹲了一个月,这又怎么说呢?」

  宰相慢条斯理喝下一口酒,才说:「大王!您将我关在监狱里,确实也是最好的安排啊!」

  他饶富深意看了国王一眼,举杯说:「您想想看,如果我不是在监狱里,那么陪伴您微服私巡的人,不是我,还会有谁呢?等到蛮人发现国王不适合拿来祭祀满月女神时,那么,谁会被丢进大锅炉中烹煮呢?不是我,还会有谁呢?所以,我要为大王将我关进监狱而向您敬酒,您也救了我一命啊!」

  国王忍不住哈哈大笑,朗声说:「干杯吧!果然没错,一切都是最好的安排!」

 

如果我的博客对您有用,麻烦请点赞,谢谢!


相关链接:

博客园(首发):http://www.cnblogs.com/Chary
我的CSDN:http://blog.csdn.net/hellking123456
新浪博客:http://blog.sina.com.cn/charygao


Copyright © 2014 Chary WorkSpace. All rights reserved.版权所有,转载请注明出处,谢谢!
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics