美文网首页
<<汇编语言>>第2~3章笔记

<<汇编语言>>第2~3章笔记

作者: zzkdev | 来源:发表于2018-05-23 20:23 被阅读0次

寄存器

note : 本书讲的CPU是8086CPU与现代CPU会有所差异

一个典型CPU组成

由运算器、控制器、寄存器构成,这些器件靠内部总线相连,前一章的总线,相对于CPU内部来说是外部总线。内部总线实现CPU内部各个器件的联系,外部总线实现CPU和主板上的其他器件的联系。其中:

  • 运算器进行信息处理
  • 寄存器进行信息存储
  • 控制器控制各种器件进行工作

note : 对于一个汇编程序员来说,CPU中的主要部件是寄存器

通用寄存器

AX,BX,CX,DX这四个(16位)寄存器用来存放一般性数据,称为通用寄存器。为了保证兼容,这四个寄存器可以分成两个8位的寄存器来使用,如AX可以分成AL和AH。

16位的CPU

16位CPU的特性:

  • 运算器一次最多可以处理16位的数据
  • 寄存器的最大宽度为16位
  • 寄存器和运算器之间的通路为16位

8086CPU给出物理地址的方法

8086CPU有20位地址总线,它采用一种在内部使用两个16位地址合成的方法来形成一个20位地址。地址加法器采用物理地址 = 段地址 * 16 + 偏移地址的方法合成地址。

8086CPU相关逻辑结构

note : 8086CPU中,一个段的起始地址一定是16的倍数。16位偏移地址的寻址能力为64KB,所以一个段的长度最大为64KB。

段寄存器

CS、DS、SS、ES这四个寄存器为段寄存器,提供内存单元的段地址。

CS和IP寄存器

CS和IP寄存器指示了要读取指令的地址,CS为代码段寄存器,IP为指令指针寄存器。

note : 8086CPU中,CPU将CS:IP指向的内容当作指令执行

下面是8086CPU读取和执行指令的相关部件

工作流程:

  1. 从CS:IP指向的内存单元读取指令,读取的指令进入指令缓冲器
  2. IP=IP+所读指令长度,从而指向下一条指令
  3. 执行指令。转到步骤1,重复这个过程

DS和BX寄存器(内存访问)

DS寄存器通常用来存放要访问数据的段地址,BX寄存器存放内存单元的偏移地址,使用方法:

mov ax, [bx] # 把ds:bx内存单元的数据送入ax中

ES寄存器(内存访问)

附加段寄存器,存放当前执行程序中一个辅助数据段的段地址。使用时要显示指出数据段地址。

# 示例
mov ax, [bx] # 把ds:bx内存单元的数据送入ax中
mov ax, es:[bx] ## 把es:bx内存单元的数据送入ax中

SS和SP寄存器

8086CPU提供了相关的指令来以栈的方式来访问内存,任意时刻SS:SP指向栈顶元素。
push ax过程:

  1. SP = SP - 2,SS:SP指向当前栈顶前面的单元,以当前栈顶前面的单元为新的栈顶
  2. 将ax中的内容送入SS:SP指向的内存单元处,SS:SP此时指向新的栈顶
push指令执行过程

note : 8086CPU中,入栈时,栈顶从高地址向低地址方向增长

pop ax过程:

  1. 将SS:SP指向的内存单元处的数据送入ax中
  2. SP = SP + 2,SS:SP指向当前栈顶下面的单元,以当前栈顶下面的单元为新的栈顶
pop指令执行过程

note : push、pop实质上时一种内存传送指令,注意它们的灵活应用。8086CPU只记录栈顶,栈的空间需要我们自己管理。


这里是我的博客


相关文章

  • <<汇编语言>>第2~3章笔记

    寄存器 note : 本书讲的CPU是8086CPU与现代CPU会有所差异 一个典型CPU组成 由运算器、控制器、...

  • 汇编语言 学习笔记(三)

    汇编语言学习笔记 四、汇编语言程序格式 语句基本格式 汇编语言程序中的语句由 4 项组成,格式如下: 名字(nam...

  • 汇编语言之基础

    本系列为学习<汇编语言> 王爽版 的学习笔记 [TOC] 汇编语言是什么? 汇编语言是直接在硬件之上工作的编程语言...

  • 汇编语言开篇

    1. 使用教材 王爽的《汇编语言(第3版)》和 小甲鱼_零基础入门汇编语言 2.习题答案 链接 3. 目标 以前没...

  • 《《汇编语言(第3版) 》王爽著》 分享下载

    书籍信息 书名: 《汇编语言(第3版) 》王爽著 标签: 《汇编语言(第3版) 》王爽著,免费,程序员书籍,编程,...

  • 笔记——第一章

    @(读书笔记)[汇编语言,计算机] 基础知识 为什么要有汇编语言 CPU——电平脉冲(高低平)——二进制数字——机...

  • 汇编语言 Ch1-基础知识 笔记

    汇编语言 Ch1-基础知识 笔记 ![](http://picture-repository-of-heamon7...

  • x86 reading Note(2):Task Switch

    《x86 汇编语言从实模式到保护模式》 第15章:任务切换 读书笔记 任务切换的原理 任务切换的两种类型 协同式 ...

  • x86 reading Note(1):Privilige Sw

    《x86 汇编语言从实模式到保护模式》 第14章:任务和特权级保护 读书笔记 前言 不想把书上的内容复述一遍,除了...

  • <<汇编语言>>第11章笔记

    标志寄存器 标志寄存器有以下3种作用: 用来存储相关指令的某些执行结果 用来为CPU执行相关指令提供行为依据 用来...

网友评论

      本文标题:<<汇编语言>>第2~3章笔记

      本文链接:https://www.haomeiwen.com/subject/gcjkjftx.html