
汇编语言
本专栏是王爽的《汇编语言第三版》的学习笔记
Philip.Lau
我立志成为下一个绝影Hamber
展开
-
汇编学习笔记——3.7 CPU提供的栈机制 && 3.8栈顶超界的问题 && 3.9 push和pop指令格式
一、CPU 提供的栈机制在基于 8086CPU 编程时,可以将一段内存当做栈来使用。对于栈的操作,最基本的两个是 PUSH (入栈) 和 POP(出栈)。比如,push ax 表示将寄存器 ax 中的数据送入栈中,pop ax 表示从栈顶取出数据送入 ax 。注意:8086CPU 的入栈和出栈操作都是以字为单位进行的。下图表示了一段指令的执行过程。8086CPU 有两个寄存器,段寄存器S...原创 2019-11-17 22:12:56 · 478 阅读 · 0 评论 -
汇编学习笔记——3.5 数据段 && 3.6 栈
一、数据段将一段内存当作数据段,是我们在编程时的一种安排,可以在具体操作的时候,用DS存放数据段的段地址,再用相关指令访问数据段中的具体单元。比如,将123B0H~123B9H的内存单元定义为数据段。现在要累加这个数据段中前三个单元中的数据:二、栈栈就是一个类似于井一样的空间,他有着先进后出的性质。具体的实现将在下一篇文章讲解。...原创 2019-11-11 22:59:09 · 199 阅读 · 0 评论 -
汇编学习笔记——3.1 内存中字的存储 && 3.2 DS和[address] && 3.3 字的传送 && 3.4 mov、add、sub指令
一、内存中字的存储CPU中,用16位寄存器来存储一个字。高8位存放高位字节,低8位存放低位字节。如图我们用0、1两个内存单元存放数据 4E20H 。用2、3两个内存单元存放数据 0012H 。因而,字单元,就是存放一个字型数据(16位)的内存单元,由两个地址连续的内存单元组成。高地址村高位字节,低地址存放低位字节。二、DS和[address]在8086CPU中,内存地址由段地址和偏移地址...原创 2019-11-11 22:50:30 · 396 阅读 · 4 评论 -
汇编学习笔记——2.11 修改CS、IP的指令 & 2.12 代码段 & Debug 的使用
一、修改 CS、IP 的指令在 CPU 中,程序员能用指令读写的部件只有寄存器,程序员可以通过改变寄存器中的内容实现对 CPU 的控制。CPU 从何处执行指令是由 CS、IP 中的内容决定的。CS 的全称是 code segment ,是代码段寄存器IP 的全称是 instruction pointer,是指令指针寄存器在我们修改其他的寄存器的时候,我们使用了 MOV 指令,在 8086C...原创 2019-10-27 21:09:32 · 2012 阅读 · 0 评论 -
汇编学习笔记——2.10 CS和IP
CS和IP的作用CS和IP是8086CUP中两个最关键的寄存器。它们用来指示CPU当前要读取的地址。CS(code segment)为代码段寄存器,IP是指令指针寄存器。在8086CPU中,任意时刻,CPU将从 (CS) x 16 + (IP) 单元开始读取一条指令并执行。也就是说:CPU 将 CS:IP 指向的内容当作指令执行。如下图所示:请大家仔细看图,当我看到这个图的时候,我想到了一...原创 2019-10-14 21:08:57 · 887 阅读 · 0 评论 -
汇编笔记——2.8 段的概念 & 2.9段寄存器
一、段在我们说段地址的时候,容易给人带来一种内存划分为一个一个的段的想法。然而,这个想法是不正确的,内存并没有分段,段的划分来自于CPU,由于8086CPU使用“基础地址(段地址 x 16) + 偏移地址 = 物理地址”的方式给出内存单元的物理地址,使得我们可以用分段的方式来管理内存。由此我们可以认为:地址10000H~100FFH的内存单元组成了一个段,段的基础地址为:10000H,段地址为...原创 2019-10-13 22:53:29 · 266 阅读 · 0 评论 -
汇编学习笔记——2.4 物理地址&2.5 16位CPU&2.6 8086给物理地址的方法&2.7 物理地址本质含义
一、物理地址CPU访问内存单元时,所有的内存单元构成的存储空间是一个一维的线性空间的,每一个 存储空间都有一个唯一的地址,这个地址叫做物理地址。不同的CPU可以有不同的物理地址形成的方式,下面我们讨论8086CPU如何在内部形成内存单元的物理地址二、16位结构的CPU在讨论以先,我们先要知道8086CPU的16位结构具有什么样的特点:运算器一次最多可以处理最多16位的数据寄存器最大的宽...原创 2019-10-06 22:53:31 · 283 阅读 · 0 评论 -
汇编学习笔记——2.1 通用寄存&2.2 字在寄存器中的存储&2.3几条汇编指令
一、通用寄存器在典型的CPU中:运算器进行信息处理寄存器进行信息存储控制器控制各种器件工作内部总线连接各种器件,在它们之间进行数据的传送不同的CPU,寄存器的个数、结构是不一样的。8086CPU有14个寄存器。他们分别是:AX、BX、CX、DX、SI、DI、SP、IP、CS、SS、DS、ES、PSW。接下来我们来用8086CPU为例学习这些寄存器。8086CPU所有的寄存器都是1...原创 2019-10-01 02:47:25 · 521 阅读 · 0 评论 -
汇编学习笔记——1.14 存储芯片&1.15 内存地址空间
一、存储芯片存储芯片从读写属性上分两类:随机存储芯片(RAM) 和只读存储芯片(ROM)随机存储芯片可读可写,但是必须带电存储,一旦断电,存储的内容就会丢失(联想Redis和内存存储)只读存储器只能读取不能写入,关机之后内容不丢失;(联想硬盘存储)从功能和连接上分类为:随机存储器(存放CPU使用的绝大部分程序和数据,主随机存储器一般由装在主板上的RAM和插在扩展插槽上的RAM)装...原创 2019-10-01 01:52:56 · 487 阅读 · 0 评论 -
汇编学习笔记——1.7 CPU对存储器的读写&1.8 地址总线&1.9 数据总线&1.10 控制总线
一、CPU对存储器的读写CPU进行数据的读写时,有3类信息的交互:存储单元的地址(地址信息)器件的选择,读或写的命令(控制信息)读或写的数据(数据信息)在计算机中专门有连接CPU和其他芯片的导线,成为总线,总线根据传输信息的不同,从逻辑上分为3类:地址总线、控制总线和数据总线。二、地址总线寻址能力:假设一根具有10根地址线的CPU向内存发出地址信息,最多可以访问多少个存储单元...原创 2019-09-29 21:31:21 · 631 阅读 · 0 评论 -
汇编学习笔记——1.3 汇编语言的组成&1.4-1.6各类组件的讲解
一、汇编语言的组成汇编语言的组成:汇编指令、伪指令和其他符号。二、存储(Memory)存储器:指令和数据在存储器中存放,也就是我们平时说的内存。在一台PC机中内存的作用仅次于CPU。他的功能就像是大脑的记忆功能。三、指令和数据(instruction & data)PS:指令和数据是应用上的概念。在内存或者磁盘上,指令和数据没有任何区别,都是二进制信息。例如:思考:那么我...原创 2019-09-29 20:46:21 · 457 阅读 · 0 评论 -
汇编学习笔记——1.1 机器语言&1.2 汇编语言的产生
一、机器语言机器语言:机器语言就是一系列机器指令的集合。机器指令:一台机器可以指新的命令注意:每种微处理器(CPU),由于硬件的设计和内部结构的不同,所以就要用不同的电平脉冲来控制其工作(想象一下是不是这个样子之后指令的01代码就不一样了),因此每一种微处理器都有自己的指令集,也就是机器语言。这就是机器语言的弱通用性。机器语言的弱通用性:二、汇编语言的产生产生原因:由于机器语言是...原创 2019-09-29 19:28:09 · 623 阅读 · 0 评论