• 汇编语言 手记1


    机器语言-汇编语言-高级语言

    汇编语言特点:

    1 与硬件相关

    2 与机器指令一一对应

    3 须详细描述如何做

    4 可移植性差

    CPU功能结构:

      总线接口部件BIU

      执行部件EU

    CPU寄存器结构:

      数据寄存器

      指针及变址寄存器

      段寄存器

      控制寄存器

    总线接口单元BIU----完成CPU与主存储器或外围设备之间的信息传送

    执行单元EU----完成指令的执行

    两个单元独立,并行工作,使指令的读取与执行部分重叠,提高了指令的执行速度----指令流水线结构

    数据寄存器(可以字或字节形式访问,例如AX的高字节、低字节分别用AH/AL表示)

    AX累加器 存放操作数和结果

    BX基址寄存器 存放偏移量

    CS计数寄存器 循环中计数

    DX数据寄存器 双字长时与AX组合成32位数

      

    指针和变址寄存器(存放地址的偏移量,也可以存放操作数 但只能以字为单位访问)

    SP堆栈指针寄存器

    BP基址指针寄存器

    SI源变址寄存器

    DI目的变址寄存器

      

    段寄存器(存放相应段的段基址(段首址的高16位))

    CS 代码段寄存器

    DS 数据段寄存器

    SS 栈段寄存器

    ES 附加段寄存器

      

    控制寄存器

    IP 指令指针寄存器:即程序计数器,向下一条指令在代码段中的偏移量

    PSW程序状态寄存器:记录系统运行中的各种状态和信息。由各种标志位构成,反映运算后的结果特征,将影响某种指令的执行。

    20条地址线,最大为1MB

    以字节为单位变址,即一个字节数据占用一个存储单元

    以字为单位存储数据时,占相邻两个单元,高8位存放在高地址字节,低8位存放在低地址字节

    字单元的地址用它的低地址来表示

    访主存指令中应指出是字节访问还是字访问

    字单元的地址一般为偶数

    段概念的引入


    16位寄存器如何表示20位的地址?

      采用存储器地址分段的方法

    段是最大长度为64kb的内存储器块

    段的起始地址低4位必须为0

    用户可以用同时使用4个段,段间可以邻接,重叠或不相邻

    代码段存放当前程序的指令代码

    数据段存放程序涉及的源数据或结果

    堆栈段是以“先入后出”为原则的数据区

    附加段是辅助数据区,存放串或其他数据

  • 相关阅读:
    hdu6148 Valley Numer
    NOI2007 生成树计数
    bzoj3336 Uva10572 Black and White
    hdu1693 eat the trees
    【模板】插头dp
    bzoj4712 洪水
    ZJOI2010 基站选址
    poj2376 Cleaning Shifts
    bzoj4367 [IOI2014]holiday假期
    bzoj4951 [Wf2017]Money for Nothing
  • 原文地址:https://www.cnblogs.com/xing901022/p/2900373.html
Copyright © 2020-2023  润新知