很久没有再次接触汇编语言了,最近需要PO解一个由DRM(数字版权管理)加密而成的视频,想到了以前学到的汇编工具。


汇编语言入门-基础知识_基础知识


汇编语言简介:


汇编语言是一种最低级、最古老、不具有移植性的编程语言,它能够直接访问计算机硬件,所以执行效率极高,占用资源极少,一般用于嵌入式设备、驱动程序、实时应用、核心算法等。

汇编语言的缺点是开发周期特别长,实现一个简单的功能都非常麻烦,已经很少用来编写应用程序了。


汇编语言跟C语言一样,入门很容易,精通难。


汇编语言入门-基础知识_基础知识_02


参考书籍:

可以参考王爽老师的《汇编语言第三版》


机器语言


计算机能识别的0和1,是一种指令集合。


汇编语言是一种伪指令,需要借助编译器,才能令电脑工作。


汇编语言入门-基础知识_基础知识_03



内存中存在大量的数据和指令。


地址总线:


一个CPU有N条地址总线,也就是这个CPU的地址总线宽度为N,寻址能力为2的N次方。


汇编语言入门-基础知识_汇编语言_04


数据总线:


CPU与其他硬件,交流的时候使用数据总线,有多少条数据总线,那么一次性可以传输多少位数据过去。


控制总线:


CPU对其他硬件发出控制指令,有多少条控制总线,那么就有多少中控制功能。


汇编语言入门-基础知识_基础知识_05



其他硬件设备


CPU在与其他硬件设备打交道的时候,会把它们当作内存来看待。


汇编语言入门-基础知识_基础知识_06


汇编语言入门-基础知识_汇编语言_07


80386的CPU的地址总线宽度为32位,则内存地址空间最大为4GB。超过的部分,没有使用。

老的XP系统,因为是32位的系统,故最大支持4GB内存。