0x00
开设日常学习和笔记分享的篇章,帮助大家来学习汇编语言。为什么要学习汇编语言呢?是由于在红蓝对抗中,常常因为一些AV/EDR的存在导致我们的工具被查杀。所以才需要我们来对抗AV也就是免杀技术。所以要学习免杀技术就要从基础开始。后续可能还会分享一些C++、PE文件结构等等笔记。另外也可能会推出逆向相关的知识。
0x01
一、引言
1.汇编语言是直接在硬件之上工作的变成语言,首先要了解硬件系统的结构,才能有效的应用汇编语言对其编程。
2.机器语言是机器指令的集合,机器指令展开来讲就是一台机器可以正确执行的命令。
3.汇编语言的产生,汇编语言的主体是汇编指令,汇编指令和机器指令(机器指令是由一串二进制数表示)的差别在于指令的表示方法上,汇编指令是机器指令便于记忆的书写格式。
二、汇编语言的原理
汇编语言的原理由上图所示,首先经过程序员编写汇编指令形成 .asm文件,然后经过编译后形成 .obj文件,此时obj文件中存储的就是机器码,然后计算机才能识别,需要注意的是形成obj文件后最后还需要进行链接才能形成我们平时常用的EXE文件。
三、汇编语言由以下3类组成
1.汇编指令(机器码的助记符,有对应的机器码)
2.伪指令(没有对应的机器码,由编译器执行,计算机并不执行)
3.其他符号(如 + - x / ,由编译器识别没有对应的机器码)
汇编语言的核心是汇编指令,它决定了汇编语言的特性
四、存储器
1.CPU是计算机的核心部件,它控制整个计算机的运作并进行运算,要想要让一个CPU互作,就必须向它提供指令。
2.磁盘不同与内存,磁盘上的数据或程序,如果不读到内存中,就无法被CPU使用
3.存储器被划分为若干个存储单元,每个存储单元从0开始顺序编号;
五、CPU对存储器的读写
CPU要像进行数据的读写,必须和外部器件(标准说是芯片)进行三类信息的交互:
1.存储单元的地址(地址信息)
2.器件的选择、读或写命令(控制信息)
3.读或写的数据(数据信息)
那么CPU是通过什么将地址、数据和控制信息传到存储芯片中的呢? ------ 通过总线
电子计算机能处理、传输的信息都是电信号,电信号当然要用导线传送
总线在物理上:一根根导线的集合
逻辑上:地址总线、数据总线、控制总线
六、地址总线、数据总线、控制总线(读/写)
地址总线:
1.CPU是通过地址总线来指定存储单元的。地址总线能传送多少个不同的下inxi,CPU就可以对多少个存储单元进行寻址;
2.一个CPU由N根地址宗信啊,则可以说这个CPU的地址总线的宽度就为N;索引内存的地址
3.10根地址线能访问的最大内存为2^10个内存单元,也就是i说 它的寻址能力是2KB
数据总线:
1.CPU与内存或其他器件之间的数据传送时通过数据总线来进行的。
2.数据总线的款段决定了CPU和外界的数据传送速度。
3.每条传输线一次只能传输1位二进制数据。eg。 8根数据线一次可传送一个8位二进制数据(1字节)
4.8088CPU数据每次传送8位 8086CPU数据每次传送16位
控制总线:
1.CPU对外部器件的控制时通过控制总线来控制的。
2.有多少根控制总线,就意味着CPU提供对外不见得多少种控制。
3.控制总线得宽度决定了CPU对外部器件得控制能力
4.内存读或写命令时由几根控制总线综合发出的:
1) 其中有一根名为读写信号输出控制线负责由CPU向外传送读信号,则CPU就会像该控制线上输出低电平表示将要读取数据;
2)有一根名为写信号输出控制先负责由CPU向外传送写信号..
小结:
1.汇编指令时机器指令得助记符,同机器指令一一对应。
2.每一种CPU都有自己得汇编指令集
3.CPU可以直接使用得信息在存储器中存放
4.在存储器中指令和数据没有任何区别,都是二进制信息
5.存储单元从零开始顺序编号
6.一个存储单元可以存储8个bit(用作单位写成"b"),即8位二进制数1Byte;
7.每一个CPU芯片都有许多管脚,这些管教(667)和总线相连。也可以说没这些管教引出总线,一个CPU可以引出三种总线得宽度,标志了这个CPU不同方面的性能:
地址总线的宽度决定CPU的寻址能力;
数据总线的宽度决定了CPU与其他器件数据传送的一次数据传送量;
控制总线宽度决定了CPU对系统中其他器件的控制能力
七、内存地址空间
什么是内存地址空间
一个CPU的地址线宽度为10,那么可以寻址1024个内存单元,这1024个可寻到的内存单元就构成了这个CPU 的内存地址空间。
对CPU来讲,系统中的所有存储器中的存储单元都处于一个统一的逻辑存储器中,它的容量受CPU寻址能力的限制,这个逻辑存储器即是我们所说的内存地址空间
各类存储芯片
1.从读写属性上看分类两类
随机存储器(RAM)和只读存储器(ROM)
2.从功能和脸上分类
随机存储器RAM---内存---断电丢失数据
装有BIOS的ROM---断电不丢失数据
接口卡上的RAM
3.PC集中各类存储器的逻辑链接:
原文始发于微信公众号(伍六七安全):汇编语言基础知识
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论