随笔分类 - 汇编
摘要:引子打算写几篇稍近底层或者说是基础的博文,浅要介绍或者说是回顾一些基础知识,自然,还是得从最基础的开始,那就从汇编语言开刀吧,从汇编语言开刀的话,我们必须还先要了解一些其他东西,像 CPU ,内存这些知识点还是理解深刻一点的比较好,所以这一篇博文就绕着 80x86 CPU 中寄存器的基础部分下手,至于其他的一些将会在后续的博文中介绍 。同时在这里说明一下,本篇博文介绍的算是比较详细的了,而且介绍的知识点也是比较多的,所以造成博文长度过长,如果有兴趣想了解这一块的话,还请自行斟酌好阅读比例,建议分 3 次以上阅览 。读者定位本博文主要将介绍的是 8086 CPU 中的寄存器,既然是 8086 C
阅读全文
摘要:【基础概念:】汇编指令,是机器指令的助记符,每一种CPU都有自己的机器指令集。汇编,程序员用汇编语言(汇编指令)编写源程序,汇编编译器将其编译为机器码,由计算机执行。【计算机常用计量单位:】bit(位) byte(字节) kb(千字节) mb(兆) gb(千兆字节)一般以字节(byte)作为计算机存储容量的基本单位,一个字节是八个二进制位(1Byte=8Bit),共有2^8=256种电路状态。怎么去理解计算机存储容量呢?1):生活中,大家常说我下载了一个1MB的文件,那这1MB在平常人理解看来是什么样呢?我想对于普通PC用户来说,1MB仅仅就是数字上的概念,比kb大,比gb小,用常用的数学概念
阅读全文
摘要:段寄存器是因为对内存的分段管理而设置的。16位CPU有四个段寄存器,所以,其程序可同时访问四个不同含义的段。段寄存器及其偏移量的引用关系如图所示。段寄存器CS指向存放程序的内存段,IP是用来存放下条待执行的指令在该段的偏移量,把它们合在一起可在该内存段内取到下次要执行的指令。段寄存器SS指向用于堆栈的内存段,SP是用来指向该堆栈的栈顶,把它们合在一起可访问栈顶单元。另外,当偏移量用到了指针寄存器BP,则其缺省的段寄存器也是SS,并且用BP可访问整个堆栈,不仅仅是只访问栈顶。段寄存器DS指向数据段,ES指向附加段,在存取操作数时,二者之一和一个偏移量合并就可得到存储单元的物理地址。该偏移量可以是
阅读全文
摘要:==============第一个程序,Hello World!!!===========================编写执行过程:1:用文本编辑器编写汇编源程序2:对源程序进行编译连接,使用汇编语言编译程序对源文件中的程序进行编译,产生目标文件。 再用连接程序对目标程序进行连接,生成可在操作系统中直接运行的可执行文件(.exe)。3:由操作系统执行可执行文件中的程序可执行文件包含两部分内容:1:程序(从源程序中的汇编指令翻译过来的机器码)和数据(源程序中定义的数据)。2:相关描述信息(比如,程序有多大,占用多少内存空间等等)assume cs:codesg // 通过assume语句,把
阅读全文
摘要:==============寄存器(内存访问)===========================CPU用16位寄存器存储一个字,高八位存放高位字节,低八位存放低位字节。在内存中存储时,内存单元是字节单元(一个单元存放一个字节,即8位),所以使用两个连续的内存单元来存放。字在内存中的存储,重点解释“字单元”的概念:字单元,即存放一个字型数据(16位)的内存单元,由两个地址连续的内存单元组成。高地址内存单元中存放字型数据的高位字节,低地址内存单元中存放字型数据的低位字节。比如:用0,1两个内存单元存放20000(4E20H),0号地址是低内存单元,存放20;1号地址是高内存单元,存放4E;总结
阅读全文
摘要:==============CPU内部组成,寄存器讲解===========================一个典型的CPU由控制器、运算器、寄存器等器件构成,这些器件通过【内部总线】相连!运算器进行信息处理、寄存器进行信息存储、控制器控制各种器件进行工作。8086CPU的寄存器都是16位的,可以存放两个字节。字在寄存器中的存储:字节 Byte:一个字节由8个Bit组成,可以存在8位寄存器中。字 Word:一个字由两个字节组成,这两个字节分别称为这个字的高八位和低八位。eg: 01101101 11000110 -高位字节- -低位字节-一个16位寄存器所能存储的数据最大值是多少?(这里求的.
阅读全文
摘要:CPU(central processing unit):中央处理单元。每一种微处理器,由于硬件设计和内部结构的不同,就需要用不同的电平脉冲来控制,使它工作。所以,每一种微处理器都有自己的机器指令集,也就是机器语言。汇编语言的主体是汇编指令,汇编指令和机器指令的差别在于表示方式上,汇编指令是机器指令便于记忆的书写格式。程序员用汇编语言写出的源程序,再用汇编编译器将其编译为机器码,由计算机最终执行。汇编语言的组成:1:汇编指令:机器码的助记符,有对应的机器码。2:伪指令:没有对应的机器码,由编译器执行,计算机并不执行。3:其他符号:如+、-、*、/等,由编译器识别,没有对应的机器码。bit(位)
阅读全文