1. 程序执行两大部件:总线接口单元(BIU) 执行单元(EU)
    指令和数据都在内存中
    BIU与EU是并行执行的
    BIU负责取指令和存取操作数
    EU负责译码和指令的执行

  2. 8086的8个16位通用寄存器
    AX, BX, CX, DX
    SI, DI, BP, SP

  3. 4个数据寄存器
    AX——累加器,使用频度最高,用于算术、逻辑运算以及与外设传送信息等;
    BX——基址寄存器,常用做存放存储器地址;数组首地址。
    CX——计数器,作为循环和串操作等指令中的隐含计数器;
    DX——数据寄存器,常用来存放双字长数据的高16位,或存放外设端口地址。

  4. 2个变址寄存器
    SI是源变址寄存器
    DI是目的变址寄存器
    串操作类指令中,SI和DI具有特别的功能

  5. 2个指针寄存器
    SP为堆栈指针寄存器,指示栈顶的偏移地址
    SP不能再用于其他目的,具有专用目的
    BP为基址指针寄存器,表示数据在堆栈段中的基地址
    SP和BP寄存器与SS段寄存器联合使用以确定堆栈段中的存储单元地址

  6. 指令指针IP
    指令指针寄存器IP,指示代码段中指令的偏移地址(相当于程序计数器PC)
    它与代码段寄存器CS联用,确定下一条指令的物理地址
    计算机通过CS : IP寄存器来控制指令序列的执行流程
    IP寄存器是一个专用寄存器(区别于通用寄存器)
    EIP始终存放下一条要被CPU执行的指令的地址。
    有些机器指令可以修改EIP,使程序分支转移到新的地址执行。例如:JMP, RET

  7. 标志寄存器
    进位标志CF(Carry Flag): 当运算结果的最高有效位有进位(加法)或借位(减法)时,进位标志置1,即CF = 1;否则CF = 0。
    零标志ZF(Zero Flag): 若运算结果为0,则ZF = 1;否则ZF = 0
    符号标志SF(Sign Flag):运算结果最高位为1,则SF = 1;否则SF = 0

    奇偶标志PF(Parity Flag):当运算结果最低字节中"1"的个数为零或偶数时,PF = 1;否则PF = 0
    溢出标志OF(Overflow Flag):若算术运算的结果有溢出,则OF=1;否则 OF=0
    注:"溢出标志"在有符号运算中有意义,"进位"在无符号运算中有意义
    辅助进位标志AF(Auxiliary Carry Flag):运算时D3位(低半字节)有进位或借位时,AF = 1;否则AF = 0。用户一般不必关心。
    方向标志DF(Direction Flag):用于串操作指令中,控制地址的变化方向:设置DF=0,存储器地址自动增加;设置DF=1,存储器地址自动减少。(CLD指令复位方向标志:DF=0;STD指令置位方向标志:DF=1)
    中断允许标志IF(Interrupt-enable Flag):用于控制外部可屏蔽中断是否可以被处理器响应:设置IF=1,则允许中断;设置IF=0,则禁止中断。(CLI指令复位中断标志:IF=0;STI指令置位中断标志:IF=1)
    陷阱标志TF(Trap Flag):用于控制处理器进入单步操作方式:设置TF=0,处理器正常工作;设置TF=1,处理器单步执行指令。

  8. 4个段寄存器
    CS(代码段)指明代码段的起始地址
    SS(堆栈段)指明堆栈段的起始地址
    DS(数据段)指明数据段的起始地址
    ES(附加段)指明附加段的起始地址

ICS汇编学习笔记——8086中的寄存器相关推荐

  1. ICS汇编学习笔记——8086的指令系统

    8086/8088的指令系统包含了六种类型,其中数据传送指令14条,算术运算指令20条,逻辑运算指令13条,串操作指令10条,控制转移指令28条,处理器控制指令12条. 1)数据传送类指令(14条) ...

  2. ICS汇编学习笔记——操作数寻址方式

    指令由操作码和操作数组成 操作数寻址方式有三大种: 立即数寻址:MOV EAX,12345678H 寄存器寻址:MOV EAX,EBX 存储器寻址:MOV EAX,DS:[20000H] 主要来看存储 ...

  3. 汇编学习笔记——汇编指令

    目录 汇编指令 nop指令 mov.add.sub指令 adc.sbb指令 and.or指令 移位指令 逻辑左/右移指令 循环左/右移指令 算术左/右移指令 带进位循环左/右移指令 inc指令 pus ...

  4. 汇编学习笔记——伪指令

    目录 伪指令 段定义 结束标记 段关联标记 数据定义 标号 offset指令 seg指令 地址标号 数据标号 代码分段 程序标识 多文件系统 字符输入 重复定义 注释 重复汇编伪指令 伪指令汇总 伪指 ...

  5. 汇编学习笔记:对抗反汇编实验2019092801

    汇编学习笔记:对抗反汇编实验2019092801 实验描述 实验环境 实验过程 实验结论 实验描述 使用相连的jz和jnz指令跳转到紧接着jnz指令的call指令的第二个字节.call指令实际上无效. ...

  6. r语言c函数怎么用,R语言学习笔记——C#中如何使用R语言setwd()函数

    在R语言编译器中,设置当前工作文件夹可以用setwd()函数. > setwd("e://桌面//") > setwd("e:\桌面\") > ...

  7. c#学习笔记05-treeview中添加图标

    创建树目录前面在学习笔记03中已经提到过 即树目录数据从XML文档中获取 添加图标主要用到ImageList控件 1.ImageList控件 在树目录对应存在的窗体中添加此控件 添加图标: 2.tre ...

  8. 20190328学习笔记 - JSP 中的 tag 文件

    20190328学习笔记 - JSP 中的 tag 文件 对于tag 文件 1. 引入 tag 文件 2. 在/WEB-INF/tags/sys 下,新增一个gridselect.tag文件 3. 在 ...

  9. 8086汇编学习之[BX],CX寄存器与loop指令,ES寄存器等

    同类学习笔记总结: (一).8086汇编学习之基础知识.通用寄存器.CS/IP寄存器与Debug的使用 (二).8086汇编学习之DS寄存器.SS/SP寄存器 一.汇编程序的基本格式: 1.基本格式与 ...

最新文章

  1. Caffe源码中Pooling Layer文件分析
  2. 美团分布式ID生成服务LeafCode
  3. Windows8 开发者预览版发布(微软官方原版)
  4. mysql 必须掌握的工具pt-query-digest安装
  5. 《中国人工智能学会通讯》——10.22 能源互联网时代
  6. [UE4]修改相机裁剪距离
  7. SpringSecurity案例之认证服务搭建
  8. sqoop动态分区导入mysql,使用sqoop import从mysql往hive含分区表中导入数据的一些注意事项...
  9. python使用sqlalchemy判断数据库是否包含某张表
  10. 样条曲面_用SolidWorks曲面制作一个:台灯底座造型
  11. Bailian4019 黑色星期五【模拟】
  12. pyspark分类算法之梯度提升决策树分类器模型GBDT实践【gradientBoostedTreeClassifier】
  13. Android之线性布局的4个重要参数
  14. 基于C#的安全聊天工具设计
  15. dux修改index.php,DUX主题修改首页轮播图为通栏模式
  16. c语言变量 集体备课,(最新整理)数学集体备课活动记录2
  17. C#中实现两个程序的通信
  18. [易飞]录入信息传递设置信息
  19. Jupyter Notebook(Anaconda)【快捷键】
  20. Kubernetes Dashboard的安装与配置

热门文章

  1. 2019年Q3:全球超大规模数据中心数量增至504个
  2. Py之pandas:利用pandas工具输出每行的索引值、及其对应的行数据
  3. ML之SVM:基于SVM(sklearn+subplot)的鸢尾花iris数据集的前两个特征(线性不可分的两个样本),判定鸢尾花是哪一种类型
  4. Keras之ML~P:基于Keras中建立的简单的二分类问题的神经网络模型(根据200个数据样本预测新的5+1个样本)——类别预测
  5. deap实战_2017中国数学建模大赛_B题_第二题
  6. docker 的mysql镜像使用手册 官网原文 日期2017-05-25
  7. OpenGL ES 如何能看到一个物体内部和象3dmax中能只显示网格线
  8. SQLServer之分离数据库
  9. ActiveMQ_3Java实现
  10. AS打开速度慢,AS项目导入慢,新建项目导入慢