购买链接怎么买,wordpress插件检测seo是否合理,深圳营销型网站建设+宝安西乡,深圳洲聚网站建设文章目录 0x01 汇编语言0x02 进制转换进制加减法单位 0x03 寄存器0x04 进位标志进位标志CF奇偶标志PF辅助进位标志AF零标志ZF符号标志SF溢出标志OF方向标志DF 0x05 JCC 0x01 汇编语言
汇编语言类型#xff1a; 机器语言 机器语言是机器能直接识别的程序语言或指令代码#x… 文章目录 0x01 汇编语言0x02 进制转换进制加减法单位 0x03 寄存器0x04 进位标志进位标志CF奇偶标志PF辅助进位标志AF零标志ZF符号标志SF溢出标志OF方向标志DF 0x05 JCC 0x01 汇编语言
汇编语言类型 机器语言 机器语言是机器能直接识别的程序语言或指令代码无需经过翻译每一操作码在计算机内部都有相应的电路来完成它或指不经翻译即可为机器直接理解和接受的程序语言或指令代码。 汇编语言 汇编语言是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件加粗样式的低级语言亦称为符号语言。在汇编语言中用助记符代替机器指令的操作码用地址符号或标号代替指令或操作数的地址。 高级语言 高级语言是一种独立于机器面向过程或对象的语言。高级语言是参照数学语言而设计的近似于日常会话的语言。
从下面这张图 可以更清楚地看到计算机里的语言的层级分布首先在硬件的基础上是机器语言机器语言可以直接转化为汇编语言汇编语言又可以用人们可以理解的高级语言翻译从而可以通过高级语言去编写程序、工具等。 0x02 进制转换
笔者认为学好逆向工程的一个最大的帮助是熟悉进制转换接触过逆向工程的小伙伴应该知道在逆向工程使用的工具中经常见到进制转换如果可以非常迅速的反应简直转化可以很大的帮助提高阅读印象工程代码的速度。 进制加减法
这个是在B站的一个老师那里看到的加法训练只需要熟悉这两道题就可以很清楚的理解各种进制之间的加减乘除运算。 现在是一个外国大佬整理的逻辑单元运算流程大题意思为几乎所有的运算都是在中央处理单元中进行的现在大部分的C P U都有自己的微处理单元C P U U可以被分为很多很小的计算模块例如逻辑门电路主要的运算功能又可以进行加、或、否运算。
单位
单位分为
byte字节word字dword双字
0x03 寄存器
寄存器register是CPU中央处理器的组成部分是一种直接整合到cpu中的有限的高速访问速度的存储器用来暂时存放参与运算的数据和运算结果因为寄存器的存储容量有限只存储一些计算机频繁用到的数据存储在其中 一级缓存CPU内部集成的缓存二级缓存CPU外部集成的缓存
CPU从寄存器拿数据寄存器从高速缓存拿以此类推
就是数据交换的缓冲区当某一硬件要读取数据时会首先从缓存中查找需要的数据如果找到了则直接执行找不到的话则从内存中找。 AX为EAX的低16位的 “ 子寄存器 ” AL为EAX低8位的 “ 子寄存器 ” AH为AX高八位的“ 子寄存器 ” 0x04 进位标志
进位标志CF
由生成进位或借位的算术指令设置当操作生成目标操作数进位或从目标操作数借位时设置。
奇偶标志PF
反映运算结果中“1”的个数的奇偶性 辅助进位标志AF
在发生下列情况时辅助进位标志的值被置为 1, 否则其值为 0:
(1)、在字操作时发生低字节向高字节进位或借位时
(2)、在字节操作时发生低 4 位向高 4 位进位或借位时 零标志ZF
反映运算结果是否为 0
如果一个操作的结果是二进制零则其值为 1, 否则其值为 0——mov不算
符号标志SF
反映运算结果的符号位它与运算结果的最高位相同
0是正的1是负的
溢出标志OF
大多数算术指令设置这个位表示结果太大无法装入目标。设置后它指示操作的结果太大或太小无法装入目标操作数
方向标志DF
减——1 加——0
0x05 JCC