`
zht1933
  • 浏览: 224504 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

汇编3——8086CPU的寻址方式

阅读更多

1.物理地址

  每一个内存单元的地址就称为物理地址。

2.16位结构的CPU

  具有以下3个特征:

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

  8086是16位结构的CPU,也就是说,在8086内部,能够一次性处理、传输、暂时存储的信息的最大长度是16位的。内存单元的地址在送上地址总线之前,必须在CPU中处理、传输、暂时存放,对于16位CPU,能一次性处理、传输、暂时存储16位的地址。

 3.8086的地址产生方法

8086的地址总线是20位,寻址能力为1MB,但在内部,8086一次性只能处理16位的数据,即只能送出16位的地址,表现出的寻址能力只有64KB,为了解决这个问题,8086采用了段地址+偏移地址的方式,来生成20位的物理地址。步骤如下:

地址加法器采用 段地址*16+偏移地址 的方法用段地址和偏移地址合成物理地址。

 

例如,8086CPU要访问123C8H的内存单元,此时,段地址为1230,偏移地址为00C8,加法器给段地址1230*16=12300,并与偏移地址00C8相加,就得到了20位的物理地址123C8。即1230*16+00C8=123C8.

 

4.本质含义

段地址*16+偏移地址=物理地址的本质含义是:CPU在访问内存时,用一个基础地址(段地址*16)和一个相对于基础地址的偏移地址相加,给出内存单元的物理地址。

更一般的说:8086的这种寻址功能是“基础地址+偏移地址=物理地址”。

对16进制数而言,乘以16就相当于左移一位。

 

5.段的概念

段的划分来自CPU,实际中内存并没有分段。

在编程时可以根据需要,将若干地址连续的内存单元看做一个段,用段地址*16定位段的起始地址,用偏移地址定位段中的内存单元。

段地址*16必然是16的倍数,所以一个段的起始地址必然是16的倍数,偏移地址为16位,即一个段的最大长度为64KB.

所以给定一个物理地址,可以有不同的分段方法,也就有不同的基础地址和偏移地址。

例如物理地址21F60H,21F60H = 2000H * 16 + 1F60H =  2100H *16 + 0F60H = 21F0H * 16 + 0060H

分享到:
评论

相关推荐

    微机原理大作业 汇编语言 EMU8086软件

    1. **寻址方式**:汇编语言中的直接寻址、间接寻址、寄存器寻址等多种寻址方式,理解它们的含义和应用场景。 2. **指令系统**:掌握8086CPU的常用指令,如加法、减法、转移、输入输出等,以及如何通过指令实现逻辑...

    汇编课件——介绍详细的汇编知识

    4. **内存管理**:理解内存组织和寻址方式,如直接寻址、间接寻址、相对寻址等。这有助于编写有效的汇编代码,提高程序执行效率。 5. **过程调用**:了解函数调用的汇编实现,包括参数传递、栈操作以及返回机制。这...

    汇编语言——计算机科学技术

    3. 地址与寻址方式:汇编语言中,数据存储在内存中,通过地址来访问,有直接寻址、间接寻址等多种寻址方式。 4. 数据类型:汇编语言中的数据类型相对简单,通常包括字节、字、双字等。 5. 控制流程指令:如JMP(跳转...

    汇编语言——王爽

    ### 汇编语言——王爽 #### 一、基础知识 在计算机科学领域,汇编语言是一种低级程序设计语言,它与特定的计算机架构紧密相关。每条汇编语言指令通常对应一条机器码指令,这使得汇编语言能够直接控制硬件资源。本...

    汇编ppt——HBYYPPT.rar

    3. **地址模式**:汇编语言允许直接或间接地访问内存,包括立即数、直接寻址、间接寻址等多种地址模式。 4. **符号表示**:为了提高可读性,汇编语言使用符号表示内存位置和变量,比如用变量名代替实际的内存地址。 ...

    微机原理与接口技术——基于8086和Proteus仿真课后答案

    《微机原理与接口技术——基于8086和Proteus仿真课后答案》是一部深入探讨微处理器、计算机系统以及相关接口技术的教材。该书由顾晖和梁惺彦等人编著,旨在帮助读者理解和掌握8086微处理器的工作原理及其在实际应用...

    8086 CPU 寄存器简介

    8086 CPU的出现不仅提高了处理能力,而且扩展了寻址空间,能够访问高达1MB的内存空间。 8086 CPU作为16位处理器,与之前的8位处理器相比,拥有更广泛的寄存器集合。8086的寄存器主要分为通用寄存器和特殊寄存器两大...

    汇编课程设计——电子闹钟

    本次的“汇编课程设计——电子闹钟”项目就是一个很好的例子,它要求我们利用底层编程语言来实现一个实用的功能,即模拟日常生活中常见的电子闹钟。在这个过程中,我们可以深入理解计算机硬件与软件之间的交互,以及...

    DSP汇编指令和寻址

    DSP 汇编指令和寻址 DSP 汇编指令是可执行指令,每一条指令对应一条机器码,用来控制处理器的执行部分进行各种操作。在学习 DSP 汇编指令之前,先来对一些基础的知识进行讲解一下。在汇编程序中,开发人员会常常...

    汇编程序设计——ppt

    【汇编程序设计——PPT】是一份深入探讨IBM-PC汇编语言的珍贵资源,适合初学者入门。汇编语言是计算机科学的基础之一,它是一种低级编程语言,每条指令都直接对应于计算机硬件的机器代码。这份资料旨在帮助用户从零...

    51单片机汇编语言教程:8课单片机寻址方式与指令系统.pdf

    ### 51单片机汇编语言教程:单片机寻址方式与指令系统 #### 概述 在深入探讨51单片机的寻址方式与指令系统之前,我们首先回顾一下之前所学的基本概念。51单片机是一种广泛应用的8位微控制器,其内部集成了CPU、RAM...

    Proteus(8.9版本) 8086CPU(微机原理)-20人抢答器-仿真

    8086CPU的微机原理涉及到寄存器结构、寻址方式、指令系统等多个方面,是学习计算机硬件设计的基础。 首先,Proteus工程文件包含汇编语言程序和电路原理图。汇编语言是一种低级编程语言,与8086CPU硬件紧密相连,...

    汇编答案全解——红皮版

    【汇编语言基础】 ...以上内容涵盖了汇编语言学习的基本概念,包括计算机系统的基础、数据表示、运算和编码方式,以及8088CPU的内部结构。理解并掌握这些知识对于学习和编写汇编语言程序至关重要。

    80X86基础教程 每种计算机都有自己的汇编语言——没必要指望汇编语言的可移植性,选择汇编,意味着选择性能而不是可移植或便于调试。这份文档中讲述的是x86汇编语言,此后的“汇编语言”一词,如果不明示则表示ia32上的x86汇编语言。

    3. **寻址模式**:讲解如何通过直接、间接、相对等多种方式访问内存中的数据。 4. **编程模型**:包括堆栈操作、子程序调用和返回,以及中断处理。 5. **汇编和反汇编**:如何将汇编语言代码转换为机器码,以及...

    计算机专业——汇编语言入门级教程

    汇编语言允许程序员以不同的方式引用内存位置,包括直接寻址、间接寻址、相对寻址等。理解这些寻址方式对于编写有效且高效的汇编代码至关重要。 **5. 汇编过程** 汇编过程包括源码到目标码的转换,由汇编器完成。...

    编程开发技术——汇编语言详解

    因此,选择学习8086汇编语言是因为它的兼容性最好,适用于多种基于Intel架构的CPU。 在8086汇编语言中,寄存器是核心概念之一。CPU内部的寄存器能快速地存储和处理数据,它们包括8位数据寄存器(如AH、AL、BH、BL等...

    汇编语言 南京理工大学课件

    2. **寻址方式**:了解如何定位内存中的数据是汇编编程的关键。课件可能会讲解直接寻址、间接寻址、相对寻址等多种寻址方式,这些方式决定了指令如何获取和处理数据。 3. **汇编语言程序设计**:如何用汇编编写程序...

    ibm——pc汇编复习题

    【汇编语言基础知识点】 ...汇编语言是计算机底层编程的重要工具,理解其基本概念、寻址方式、指令系统以及相关标志位的影响对于编写有效的汇编程序至关重要。掌握这些知识点有助于深入理解计算机系统的运行机制。

    IBM-PC汇编语言程序设计——课后答案

    还会涉及指令的寻址方式,如立即寻址、直接寻址、间接寻址等。 3. **第三章**:通常会讲解8086的指令系统,包括数据处理指令(如ADD、SUB、MUL、DIV等)、逻辑操作指令(AND、OR、NOT、XOR等)、转移指令(如JMP、...

    汇编语言程序设计——从DOS到Windows(张雪兰)

    第1部分介绍Intel 80x86系列微处理器的基础知识、实模式汇编语言程序设计等,主要内容包括:预备知识、微处理器的基础知识、寻址方式及指令集、汇编语言程序组织、程序的基本结构及其程序设计、子程序与宏指令设计、...

Global site tag (gtag.js) - Google Analytics