汇编、逆向工程基础篇(基础语法)

逆向工程(一):汇编、逆向工程基础篇

以下内容为阅读汇编语法的基础篇总结出来的,正如下面这句对这篇文章的评论,我只能从中总结出一些十分基础的语法。

 

一. 单元,位,字节。

1. 位(BIT):电脑数据量中的最小单元,即01

2. 字节(BYTE):一个字节有八位。

3. 字(WORD):一个字有两个字节,即十六位。

双字(DOUBLE WORD:两个字,三十二位。

千字(KILOBYTE):1024个字节(32*32)。

兆字(MEGABYTE):1024*10241048576)个字节。

.寄存器

计算机存放数据的地方。

 

关于寄存器我只是知道了那是个存储数据的地方,其他的什么索引寄存器、段寄存器、反正就是各种各样的寄存器都是存放对应的特定的数据,不知道我的理解有没有错。

三. 标志寄存器

代表了某种状态,就是一个标志,只能是0或者1,决定了是否执行某个指令。

Z-flag(零标志):可设为0或者1,如果上一个运算结果为0,则其值为1,否则其值为0

The O-flag(溢出标志):当上一步操作改变了某寄存器的最高有效位时,OF寄存器会被设置成1

The C-flag(进位标志):产生溢出,就会被设置成为1

四. 段偏移

段:偏移量=把他们放在一起就是内存中的一个具体的地址。

五.栈

就是一个存放数据的盒子。

六. 指令

 

指令名

语法

ADD(加)

ADD被加数,加数

AND(逻辑与)

AND目标数,原数

CALL(调用)

CALL something

CDQ

CDQ

CMP(比较)

CMP 目标数,原数

DEC(自减)

DEC something

DIV(除)

DIV 除数

IDIV(整除)

IDIV 除数

IMUL(整乘)

IMUL 数值

INC(自加)

INC something

INT

INT 目标数

JUMPS(跳转指令)

 

LEA(有效地址传送)

LEA 目的数、源数

MOV(传送)

MOV 目的数、源数

MUL(乘法)

MUL 数值

NOP(无操作)

NOP

OR(逻辑或)

OR 目的数,源数

POP

POP目的地址

PUSH

PUSH

REP/REPE/REPZ/REPNE/REPNZ

REP/REPE/REPZ/REPNE/REPNZ ins

RET(返回)

RET

SUB(减)

SUB 目的数,源数

TEST

TEST 操作符,操作符

XOR

XOR 目的数,源数

七. 逻辑操作符

汇编、逆向工程基础篇(基础语法)_第1张图片

 

你可能感兴趣的:(自玩)