第三章知识汇总

第三章   寄存器

3.1 内存中字的存储

CPU中,用16位的寄存器来存储一个字。高8位存放高位字节,低8位存放低位字节

字单元:存放一个字型数据(16位)的内存单元,由两个地址连续的内存单元组成。高地址内存单元中存放字型数据的高位字节,低地址内存单元中存放字型数据的低位字节。

3.2 DS和[address]

DS寄存器:通常用来存放要访问数据的段地址

mov al [0]       [0]表示内存单元的偏移地址,8086CPU将自动使用此时DS的数据作为内存单元的段地址

8086CPU不支持直接将数据送入段地址寄存器中,可以先将数据送入bx,再将bx的数据送入ds

3.3 字的传送

在mov指令中给出16位寄存器就可以进行16位数据的传输了。

3.4  mov,add,sub指令

mov   寄存器 , 数据

mov   寄存器  ,寄存器

mov   寄存器   ,内存单元    mov  ax [0]

mov   内存单元 ,寄存器

mov   段寄存器 ,寄存器     P52

add  寄存器  ,数据

add  寄存器 ,寄存器

add  寄存器 ,内存单元

add  内存单元,寄存器

sub  寄存器,数据

sub  寄存器,寄存器

sub  寄存器,内存单元

sub  内存单元,寄存器

3.5     数据段

我们可以将一组长度为N(N≤64KB)、地址连续、起始地址为16的倍数的内存单元当作专门存储数据的内存空间,从而定义了一个数据段。

3.6   栈

栈是一种具有特殊的访问方式的存储空间。它的特殊性就在于,最后进入这个空间的数据,最先出去。

应该有一个标记,指向栈顶的数据。

有两个基本的操作,入栈和出栈

3.7   CPU提供的栈机制

8086CPU   最基本的两个指令  PUSH(入栈)    POP(出栈)

8086CPU的入栈和出栈操作都是以字为单位进行的

字型数据用两个单元存放,高地址单元存放高8位,低地址单元存放低8位

如何知道栈顶的位置?

8086CPU中,有两个寄存器 SS  SP。 SS中存放着栈顶的段地址,SP中存放着栈顶的偏移地址。

任意时刻  SS:SP指向栈顶元素

PUSH和POP指令执行的时候,CPU从SS和SP中得到栈顶的地址

3.8 栈顶超界的问题

编程者必须要自己注意不要让栈顶超界,因为8086CPU不知道我们安排的栈空间有多大

3.9  push,pop指令

3.10  栈段

我们可以将长度为N(N<=64KB)的一组地址连续,起始地址为16的倍数的内存单元当作栈空间来使用,从而定义了一个栈段。

定义一个栈段只是我们自己的一个行为,CPU并不会因为这个安排自动地将我们定义地栈段当作栈空间来使用

要使push,pop 等指令访问我们定义的栈段,就是要使SS:SP指向我们定义的栈段

原文地址:https://www.cnblogs.com/1198264220pl/p/11982pl642204.html

时间: 2024-10-07 15:52:05

第三章知识汇总的相关文章

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

第三章 内存访问的角度学习寄存器 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和低位字

第四章知识汇总

第四章    第一个程序 4.1    一个源程序从写出到执行的过程 第一步:编写汇编源程序 使用文本编辑器,用汇编语言编写汇编源程序,这一步工作的结果是产生了一个存储源程序的文本文件 第二步:对源程序进行编译连接. 使用汇编语言编译程序对源程序文件中的源程序进行编译,产生目标文件进行连接,生成可在操作系统中直接运行的可执行文件. 可执行文件包含两部分内容. (1)程序(从源程序中的汇编指令翻译过来的机器码)和数据(源程序中定义的数据) (2)相关的描述信息(比如,程序有多大,要占用多少内存空间

第三章知识总结

3.1 内存中字的存储 一个字的大小为两个字节,8086CPU一个寄存器的大小为两个字节,所以使用8086CPU的寄存器存储一个字单元的时候,高字节寄存器存储字的高位字节,低字节寄存器存储字的低位字节.在用内存存储一个字的时候,高内存单元存储字的高字节,低内存单元存储字的低字节.小端法.比如20000(4E20H)在进行内存存储的时候,我们此时有0,1两个地址的内存单元,那么字的高字节4EH存储在内存地址为1的内存单元,字的低字节单元20H存储在内存地址为0的低内存单元. 字单元概念,即连续存储

第二章知识汇总

2.1 通用寄存器 1,AX,BX,CX,DX被称为通用寄存器 2,AX可分为AH,AL...... 2.2 字在寄存器中的存储 1,字节:记为byte,一个字节由8bit组成 字:记为word,一个字由两个字节组成,分别是高位(AH)和低位字节(AL) 2.3 几条汇编指令 1, mov ax 18    AX=18 mov ah 78    AH=78 add ax 8       AX=AX+18 mov ax bx    AX=BX     两个对象的位数一样 add ax bx   

20165233 Java第二、三章学习总结

2017-2018-2 <Java程序设计>第二周学习总结 教材学习内容总结 第二.三章 ch2 标识符与关键字 基本数据类型: 逻辑类型:boolean 整数类型:int.byte.short.long(注意:long型常量用后缀L来表示:且Java中没有无符号声明) 字符类型:char 浮点类型:float.double(float常量后面必须有后缀f或F ) 类型转换运算 输入.输出数据 数组 ch3 运算符与表达式 if条件分支语句 switch开关语句 循环语句(包括for语句.wh

NodeJs&gt;-------&gt;&gt;第三章:Node.js基础知识

第三章:Node.js基础知识 一:Node.js中的控制台 1:console.log.console.info  方法 1 console.log("this is a test string."); 1 node app1.js 1> info.log 1 console.log("This is a test String ."); 2 3 //从第二个参数开始,依序输出所有的字符串 4 console.log("%s","

Python黑帽编程3.0 第三章 网络接口层攻击基础知识

3.0 第三章 网络接口层攻击基础知识 首先还是要提醒各位同学,在学习本章之前,请认真的学习TCP/IP体系结构的相关知识,本系列教程在这方面只会浅尝辄止. 本节简单概述下OSI七层模型和TCP/IP四层模型之间的对应关系,最后是本章教程需要的几个核心Python模块. 3.0.1 TCP/IP分层模型 国际标准化组织(ISO)在1978年提出了"开放系统互联参考模型",即著名的OSI/RM模型(Open System Interconnection/Reference Model).

知识图谱文献综述(第三章 实体识别与链接)

第三章 实体识别与链接 1. 任务定义.目标和研究意义 实体是文本中承载信息的重要语言单位,也是知识图谱的核心单元. 命名实体识别是指识别文本中的命名性实体,并将其划分到指定类别的任 务[Chinchor & Robinson, 1997].常用实体类别包括人名.地名.机构名.日期等. 实体链接主要解决实体名的歧义性和多样性问题,是指将文本中实体名指向其 所代表的真实世界实体的任务,也通常被称为实体消歧.例如,给 一句话“苹果发布了最新产品 iPhone X”,实体链接系统需要将文本中的“苹果”

【知识强化】第三章 栈和队列 3.1 栈

在第三章我们将继续学习三种非常重要的线性结构,分别是栈和队列的这样的受限线性表.我们将从它们的基本概念.存储结构以及相关应用这三方面进行详细的学习.最后我们将学习数组的相关知识,大家要注意一下这里的数组指的是一种线性结构,与我们之前在程序设计语言当中提到的数组类型是不同的概念.好,数组我们会学习它的定义以及它的存储结构,还有用数组来实现矩阵的压缩存储.最后还会提一个特殊的矩阵叫做稀疏矩阵.好,这就是本章所要学习的重要考点.本章所学习的知识点其实并不难,它常常出现在选择题当中,但是在之后我们解决一