`

Assembly.Language.note.Ⅱ

阅读更多

1.通用寄存器:

    8086CPU的所有寄存器都是16位, 可以存储2个字节. AX, BX, CX, DX 四个寄存器通常用来存放一般性的数据, 被称为通用寄存器.

    8086CPU的上一代CPU中的寄存器都是8位的,为了保证兼容,8086CPU的 AX, BX, CX, DX 都可分为2个独立是使用的8位寄存器.

  • AX --> AH & AL;
  • BX --> BH & BL;
  • CX --> CH & CL;
  • DX --> DH & DL;
  • ps: (H - High 高位, L - Low 低位)

2.16位结构的CPU, 有以下几方面的结构特性:

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

3.8086CPU有20位地址总线, 可以传送20位地址,达到1MB的寻址能力, 8086又是16位结构, 在内部一次性处理, 传输, 暂时存储的地址为16位. 从8086CPU的内部结构来看, 如果将地址从内部简单地发出,那么它只能送出16位地址,表现出的寻址能力只有64KB.

    8086CPU采用了一种在内部用两个16位地址合成的方法形成一个20位的物理地址.

  • CPU中的相关不见提供2个16位的地址, 一个称为段地址, 一个称为偏移地址;
  • 段地址和偏移地址通过内部总线送入一个称为地址加法器的部件;
  • 地址加法器将这2个16位地址合成位一个20位的物理地址;
  • 地址加法器通过内部总线将20位物理地址送入输入输出控制电路;
  • 输入输出控制电路将20位物理地址送上地址总线;
  • 20位物理地址被地址总线传送到存储器.

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

    ps: 以二进制形式存放的段地址左移4位, 完成段地址 * 16的运算.

 

分享到:
评论

相关推荐

    01450A (1).pdf

    it has been written in assembly. The code has been written in-line (without subroutines) to maximize switching performance of the application. The code uses only 43 locations of program memory (512 ...

    ti dsp tms2802芯片资料

    完整的 dsp2802芯片资料 包括 Contents 1 Architectural Overview . . . . . . . ....1.1 Introduction to the CPU ....1.1.1 Compatibility With Other TMS320 CPUs ....1.1.2 Switching to C28x Mode From Reset ....

    汇编 编译 开发 运行

    Introduction to 80x86 Assembly Language and Computer Architecture Installation Instructions 1. Insert the Introduction to 80x86 Assembly Language and Computer Architecture CD into the CD-ROM drive. ...

    Nucleus C++.pdf

    that this file is usually delivered in assembly language form and its extension is development tool specific). § Define the “InitializeCppApplication()” function which is executed by Nucleus C++ ...

    CSharp.2010.and.the.dotNET.4.Platform.5th.Edition

    of the C# language as a whole, the pillars of object oriented programming (OOP), assembly configuration, database access (through ADO.NET), as well as the process of building desktop GUI applications,...

    Heilx AAC Decoder optimized for ARM

    PROCESSOR <br>/* you implement MULSHIFT32() and so forth */ <br>#else #error Unsupported platform in assembly.h #endif <br>Optionally you can rewrite or add assembly language files ...

    VB.NET Developer's Guide(4574).pdf

    .NET Assembly Options 545 Preprocessor Options 546 Miscellaneous Options 546 Testing Phases and Strategies 546 Unit Testing 547 Integration Testing 547 Beta Testing 547 Regression Testing 548 ...

    skein加密解密C源码

    skein_block_x64.asm This is the 64-bit assembly language version of skein_block.c. It may be used to replace that file in the Optimized_64bit directory to improve performance on 64-bit Intel/AMD ...

    avr中嵌入汇编 iar中c与汇编混合编程

    This application note describes how to set up and use the IAR C-compiler for the AVR controller in prosjects including both C and assembly code. By mixing C and assembly designers can combine the ...

    Pro C Sharp 2010 and the .NET 4 Platform - 5th Edition

    of the C# language as a whole, the pillars of object oriented programming (OOP), assembly configuration, database access (through ADO.NET), as well as the process of building desktop GUI applications,...

    Pro C# 2010 and the .NET 4 Platform Fifth Edition

    of the C# language as a whole, the pillars of object oriented programming (OOP), assembly configuration, database access (through ADO.NET), as well as the process of building desktop GUI ...

    一个win32下的ARM开源编译器

    UAL stands for: Universal Assembly Language. pre-UAL syntax is selected with the directive CODE16. UAL syntax is selected with the directive THUMB. pre-UAL syntax does not specify the "s" (flag ...

    Professional_Linux_Programming.pdf

    A Note about In-Kernel Debuggers 313 Summary 313 Chapter 11: The GNOME Developer Platform 315 GNOME Libraries 316 Glib 316 GObject 316 Cairo 316 GDK 317 Pango 317 GTK+ 317 libglade 318 GConf 318 ...

    Professional C# 3rd Edition

    A Note about Debugging 637 Drawing Scrollable Windows 638 World, Page, and Device Coordinates 644 Colors 645 Red-Green-Blue (RGB) Values 645 The Named Colors 646 Graphics Display Modes and the Safety ...

Global site tag (gtag.js) - Google Analytics