汇编语言第二章知识梳理

  • 一个典型的cpu由运算器、控制器、寄存器等器件组成,这些器件靠内部总线相连。
  • 内部总线实现cpu内部各个器件之间的联系。外部总线实现cpu和主板上其他器件的联系。
  • 8086CPU中的14个寄存器:AX,BX,CX,DX,SI,DI,SP,BP,IP,CS,SS,DS,ES,PSW
  • 概括的讲,16位结构描述了一个cpu具有以下几个方面的特征:(1)运算器一次最多可以处理16位的数据。(2)通用寄存器的最大宽度为16位。(3)寄存器和运算器之间的通路是16位的。
  • 8086cpu有20位地址总线,可传送20位地址,寻址能力位1MB。内部为16位结构,它只能传送16位的地址,表现出的寻址能力只有64KB。它采用的是一种在内部用两个16位地址合成的方法来形成一个20位的物理地址。在读写内存时,步骤如下:                                                                                                            (1)cpu中的相关部件提供两个16位的地址,一个称为段地址,另一个称为偏移地址。                                                                                                                    (2)段地址和偏移地址通过内部总线送入一个称为地址加法器的部件。                                                                                                                                            (3)地址加法器将两个16位地址合并成一个20位的地址。(地址加法器合成物理地址的方法:物理地址=段地址*16+偏移地址。“段地址*16”有一个更为常用的说法就是数据左移4位(二进制位)。基础地址+偏移地址=物理地址。)
  • 8086pc工作过程:

(1)从CS:IP指向的内存单元读取指令,读取的指令进入指令缓冲器。

(2)IP=IP+所读取指令的长度,从而指向下一条指令。

(3)执行指令。转到步骤(1)。

(4)重复这个过程。

也就是说内存中的一段信息曾被cpu执行过的话,那么它所在的内存单元必然被CS:IP指向过。

  • mov指令可以改变8086cpu大部分寄存器的值,被称为传送指令。但是mov指令不能用于设置CS,IP的值。
  • 修改CS,IP的值:

(1)同时修改CS,IP的内容:jmp  段地址:偏移地址
 

(2)仅修改IP的值:jmp 某一合法寄存器  

原文地址:https://www.cnblogs.com/zakon/p/9744596.html

时间: 2024-11-06 03:29:21

汇编语言第二章知识梳理的相关文章

汇编语言第二章知识梳理及思考

第二章 寄存器(CPU工作原理) CPU概述 CPU由运算器.控制器.寄存器等器件组成,这些器件靠内部总线相连. 内部总线实现CPU内部各个器件之间的联系. 外部总线实现CPU和主板上其他器件的联系. 寄存器概述 8086CPU有14个寄存器: AX.BX.CX.DX.SI.DI.SP.BP.IP.CS.SS.DS.ES.PSW. 2.1通用寄存器 8086CPU所有的寄存器都是16位的,可以存放两个字节. 通用寄存器:AX.BX.CX.DX通常用来存放一般性数据. 以AX为例,寄存器的逻辑结构

第二章知识梳理

思维导图 基本数据类型 布尔型bool 整型:int.short.long 浮点型:float.double.long double 字符型:char 枚举型:enum 运算表达式(注意运算优先级) 算数:+.-.*./.% 赋值:=   例:a=4 逗号:,  例:a=3*5,a*4 逻辑:<.<=.>>=.==.!=.!.&&.|| 条件:_?_:_ sizeof: sizeof(类型名)       sizeof 表达式 位运算:注意二进制比特位运算 基本控制

第二章 知识图谱——机器大脑中的知识库

第二章 知识图谱——机器大脑中的知识库 作者:刘知远(清华大学):整理:林颖(RPI) 版权所有,转载请注明出处 知识就是力量.——[英]弗兰西斯·培根 1 什么是知识图谱 在互联网时代,搜索引擎是人们在线获取信息和知识的重要工具.当用户输入一个查询词,搜索引擎会返回它认为与这个关键词最相关的网页.从诞生之日起,搜索引擎就是这样的模式,直到2012年5月,搜索引擎巨头谷歌在它的搜索页面中首次引入“知识图谱”:用户除了得到搜索网页链接外,还将看到与查询词有关的更加智能化的答案.如下图所示,当用户输

汇编语言第二章总结

第二章里我们学习了寄存器的内容.了解到一个典型的CPU由运算器.控制器.寄存器等器件构成,这些器件靠内部总线相连.前一章所说的总线,相对于CPU内部来说是外部总线.内部总线实现CPU内部各个器件之间的联系,外部总线实现CPU和主板上其他器件的联系.在CPU中,运算器进行信息处理:寄存器进行信息存储:控制器控制各种器件进行工作:内部总线连接各种器件,  在它们之间进行数据的传送. 对于一个汇编程序员来说,CPU中的主要部件是寄存器.寄存器是CPU中程序员可以用指令读写的部件.程序员通过改变各种寄存

汇编语言 第二章 寄存器检测点2.2 第二题

这道题是汇编语言第二版的习题,一开始我也是百思不得其解,下面看看吧: 有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻址到此单元, 则SA 应满足的条件是:最小为 1001H 最大为 2000H :最大值: (很多人最大值很容易算出来,但是最小值卡住了,很纳闷为什么是1001H)我们可以根据原题列出一个式子: X * 10H + 0H = 20000H 我们之前是乘以16,但是那个16是十进制的,因为整个式子里都是16进制,加入个10进制去算会出错的所以呢,我们把16转

专业课第二章知识总结

第二章我们主要学习了高级语言构成有:数据类型.变量常量.标识符.关键字.运算符表达式和语句等. java数据类型是用来表示计算机内存的特定方法.主要分为两种一种是基本类型有:整形(byte,short,int,long).浮点型(float,double).字符型(char).布尔型(boolean).另外一种是引用类型是String字符串. 在java中变量是程序中最基本的存储单元其中就包括数据类型,和变量名和变量值,而我们在声明变量时应定义一个数据类型然后定义变量名和初始值: 常量声明必须先

汇编第二章知识总结

今天刚学完第二章,以下是一些学习到的内容. 首先是CPU的概述 1.一个典型CPU由运算器.控制器和寄存器等器件组成. 2.内部总线实现CPU内部各个部件之间的联系. 3.外部总线实现CPU和主板上其他器件的联系. 通用寄存器 1.8086CPU所用的寄存器都是16位的,可以存放2个字节.AX,BX,CX,DX这四个寄存器都唱用来存放一般性数据,被称为通用寄存器 2.为了保证与上一代8位CPU兼容,8086CPU的AX.BX.CX.DX可分为两个可独立使用的8位寄存器. AX可分为AH和AL B

汇编语言第三章知识梳理及思考

第三章 内存访问的角度学习寄存器 3.1内存中字的存储 0号单元是低地址单元,1号单元是高地址单元. 问题: (1)0地址单元(字节单元)中存放的字节型数据是多少?20H (2)0地址字单元中存放的字型数据是多少?4E20 (3)2地址字单元中存放的字节型数据是多少?12H (4)2地址单元中存放的字型数据是多少?0012H (5)1地址字单元中存放的字型数据是多少?124EH 结论:任何两个连续的内存单元,N号单元和N+1号单元,可以将它们看成一个地址为N的字单元中的高位字节单元N+1和低位字

汇编语言第二章实验

学习当然不能只是看书上的知识啦,只有实际上手操作才能体验到计算机语言的乐趣与奥妙.接下来就是我根据书上的实例和实验在个人计算机上做出的练习 先熟悉一下-e  -a等命令 CS=073F,IP=0100,所以内存073F:0100处的指令为cpu当前要读取和执行的指令,此处存放的机器码为00 00 ,对应的汇编指令为ADD balabalbla -r命令可以改变寄存器中的内容(修改cs与ip的内容) -d查看10000H(1000:0)内存处的内容(-d 1000:0会列出当前地址开始的128哥内