首页  > 百科热搜  > 什么是汇编语言?逆向分析必备语言

什么是汇编语言?逆向分析必备语言

发布时间:2023-06-29 10:04:39     作者:黑猫编程     浏览量:670    

汇编语言有哪些

每一种微处理器,由于硬件设计和内部结构不同,需要用不同的电平脉冲来驱动,因此每一种微处理器都有自己的机器指令集,也就是机器语言

早期程序设计均使用机器语言。程序员用0、1数字编成的程序代码打在纸带或卡片上,1打孔,0不打孔,再将程序通过纸带或卡片输入计算机,进行运算。

汇编语言有哪些

编译器:能够将汇编指令转换成机器指令的翻译程序。

指令和数据在存储器中存放,然而在内存或磁盘上,指令和数据没有任何区别,都是二进制信息。

1000100111011000 → 89DB 数据

1000100111011000 → mov ax,bx 指令

存储器被划分成若干个存储单元,每个存储单元从0开始顺序编号。例如:一个存储器有128个存储单元,从0~127开始编号。

总线:CPU和其他芯片连接的导线,叫做总线。物理上,总线是一根根导线的集合;根据传送信息不同,逻辑上分为地址总线、数据总线、控制总线。

主板一般为矩形电路板,上面安装了组成计算机的主要电路系统,一般有BIOS芯片、I/O控制芯片、键盘和面板控制开关接口、指示灯插接件、扩充插槽、主板及插卡的直流电源供电接插件等元件。

CPU不能之间控制外部设备,这些外部设备都通过插在扩展插槽上的接口卡直接控制,而接口卡也通过总线和CPU相连,CPU就可以控制外部设备。

逻辑存储器情况:

8086CPU内存地址空间分配情况

在学习16位汇编时,可以对内存单元进行长度修饰,比如:mov byte ptr [1000H], 1,表示1是一个字节类型数据,mov word ptr [1000H], 1,表示1是一个字类型数据。

在C++中,使用变量类型表示数据的大小,引用头文件Windows.h

字节 BYTE 1字节 0-0xFF (unsigned char)

字 WORD 2字节 0-0xFFFF (unsigned short )

双字 DWORD 4字节 0-0xFFFFFFFF (unsigned long)

只能使用目前学过的汇编指令,最多使用4条指令,编程计算2的4次方。

8086CPU有20位地址总线,可以传送20位地址,达到1MB的寻址能力。8086CPU又是16位结构,在内部一次性处理、传输、暂时存储的地址为16位。从8086的内部结构来看,如果讲地址从内部简单的发出,那么只能送出16位地址,寻址能力只有64KB。

物理地址=段地址*16+偏移地址

在8086CPU中,任意时刻,设CS中的内容为M,IP中内容为N,8086CPU将从内存M*16+N单元开始,读取一条指令。

在8086CPU加电启动或复位后(即CPU刚开始工作时),CS被设置为FFFFH,IP被设置为0000H。CPU从FFFF0H内存单元中读取指令并执行,时开机后的第一条指令。

如图所示:CPU初始状态CS=2000H,IP=0000H

将al中的数据送入内存单元10000H中

mov bx,1000H

mov ds,bx

mov [0],al

sub 操作数A,操作数B

影响ZF标志位

8086 CPU 标志寄存器有16位,其中存储的信息通常被称为程序状态字PSW(Program State Word)。

flag的第6位是ZF,零标志位,记录相关指令执行后,其结果是否为0。如果结果为0,ZR( Zero ),ZF=1,如果结果不为0,NZ( Not Zero ),ZF=0。

全称为程序数据库文件。我们使用它(更确切的说是看到它被应用)大多数场景是调试应用程序。目前我们对.PDB文件的普遍认知是它存储了被编译文件的调试信息,作为符号文件存在。

flag第2位是PF(Parity Flag),判断结果所有bit位中1的个数如果是偶数,PE(Parity Even),PF=1,如果是奇数PO(Parity Odd),PF=0。

flag第7位是SF(Sign Flag),结果为负NG,SF=1,结果为正PL,SF=0。

push ax执行,由下列两步完成

1.SP=SP-2

2.将ax中数据送入新的SS:SP指向位置

flag的第0位是CF,在进行无符号运算的时候,记录运算结果的最高有效位向更高位的进位值,或者从更高位的借位值。

记录有符号数是否溢出。

指令格式:cmp 操作对象1,操作对象2

指令功能:计算操作对象1-操作对象2,但并不保存结果,

下列为根据无符号数的比较结果进行转移的条件转移指令:

收藏文章

收藏

文章标签: 汇编语言     逆向     必备    
上一篇:3个方法自测发际线高低 下一篇:它是猪身上“最营养”的部位,15一斤没人买,肉贩子自己留着吃