一、8086CPU

1、微处理器

(1)微控制机:也称单片机

(2)DSP芯片:数字信号处理芯片

(3)嵌入式微处理器

(4)通用微处理器:PC站、工作站、服务器使用的处理器

2、内部结构:

(1)总线接口单元(BIU):

A、负责数据的传输和指令的读取

B、执行单元对指令机器码进行译码

C、对芯片中各部件进行协调控制

(2)执行单元(EU):执行运算

3、8086寄存器

(1)通用寄存器:

A、8个通用寄存器:AH,AL,BH,BL,CH,CL,DH,DL

B、2个变址寄存器:SI,DI

C、2个指针寄存器:BP,SP

这四个寄存器只能按16位操作,主要用来暂存数据或者地址

(2)段寄存器:

主要为主储存器的分段管理提供段地址

(3)控制寄存器:

指令指针IP实际上是一个16位的加计数器,始终指向下一条要执行的命令的地址。

4、控制寄存器中的标志寄存器

(1)控制标志位:

DF:方向标志

IF:中断标志

TF:单步标志或者陷阱标志

(2)条件标志位

PF:奇偶标志:计算结果的低8位,若1的个数为偶数个,则PF=1,否则PF=0

ZF:零标志位:计算结果为0,ZF=1,否则ZF=0

AF:辅助进位/借位标志位:计算结果D3向D4进位或者借位,则AF=1,否则AF=0。

CF:进位/借位标志位:计算结果的最高位向前进位或者借位,则CF=1,否则CF=0

SF:符号标志位:计算记过为负,SF=1,否则SF=0,实际上就是计算机过的最高位(补码)

OF:溢出标志位:计算结果超出带符号数补码数的表示范围:OF=1,否则OF=0。用于计算加减法是否出错。

(3)判断OF标志位的方法:

减法同理可得

汇编学习(二)——8086CPU的更多相关文章

  1. 汇编学习二-VB(常见函数分析)

    VB代码如下所示 push ebp 00401FF1 . 8BEC mov ebp,esp 00401FF3 . 83EC 0C sub esp,0xC push <jmp.&MSVBV ...

  2. emberjs学习二(ember-data和localstorage_adapter)

    emberjs学习二(ember-data和localstorage_adapter) 准备工作 首先我们加入ember-data和ember-localstorage-adapter两个依赖项,使用 ...

  3. ReactJS入门学习二

    ReactJS入门学习二 阅读目录 React的背景和基本原理 理解React.render() 什么是JSX? 为什么要使用JSX? JSX的语法 如何在JSX中如何使用事件 如何在JSX中如何使用 ...

  4. TweenMax动画库学习(二)

    目录            TweenMax动画库学习(一)            TweenMax动画库学习(二)            TweenMax动画库学习(三)            Tw ...

  5. 汇编学习笔记(11)int指令和端口

    格式 int指令也是一种内中断指令,int指令的格式为int n,n是中断类型码.也就是说,使用int指令可以调用任意的中断例程,例如我们可以显示的调用0号中断例程,还记得在汇编学习笔记(10)中我们 ...

  6. Hbase深入学习(二) 安装hbase

    Hbase深入学习(二) 安装hbase This guidedescribes setup of a standalone hbase instance that uses the local fi ...

  7. Struts2框架学习(二) Action

    Struts2框架学习(二) Action Struts2框架中的Action类是一个单独的javabean对象.不像Struts1中还要去继承HttpServlet,耦合度减小了. 1,流程 拦截器 ...

  8. Python学习二:词典基础详解

    作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7862377.html 邮箱:moyi@moyib ...

  9. Quartz学习--二 Hello Quartz! 和源码分析

    Quartz学习--二  Hello Quartz! 和源码分析 三.  Hello Quartz! 我会跟着 第一章 6.2 的图来 进行同步代码编写 简单入门示例: 创建一个新的java普通工程 ...

  10. SpringCloud学习(二):微服务入门实战项目搭建

    一.开始使用Spring Cloud实战微服务 1.SpringCloud是什么? 云计算的解决方案?不是 SpringCloud是一个在SpringBoot的基础上构建的一个快速构建分布式系统的工具 ...

随机推荐

  1. iOS 目录的使用

    Table 1-1  Commonly used directories of an iOS app  Directory Description AppName.app This is the ap ...

  2. Linux基础命令总结

    1.pwd  查看当前工作目录 2.ls [目录] 列出指定目录下的所有文件,使用 ls -l 或者 ll 列出文件详细列表包括权限.大小等文件默认大小以字节B为单位,目录大小为4096B  ls - ...

  3. Zookeeper集群服务部署

    Zookeeper是一个分布式.开源的分布式应用程序协调服务,是Google的Chubby的开源实现,也是和Hadoop.Hbase相互配合的重要组件,作用就是为分布式应用程序提供一致性服务,包括配置 ...

  4. 使用mysqladmin ext了解MySQL运行状态【转】

    摘要: mysqladmin是 MySQL一个重要的客户端,最常见的是使用它来关闭数据库,除此,该命令还可以了解MySQL运行状态.进程信息.进程杀死等.本文介绍一下如何使用 mysqladmin e ...

  5. JS 判断图片尺寸大小,以便页面resize时,动态调整页面元素位置

    ){ clearInterval(global_timename4pool); } } //由于无法判断图片显示完整的时机,只好用定时器来做,计算完成后再关掉定时器. global_timename4 ...

  6. jquery.validate ajax提交

    页面引入jquery.validate.min.js <style> //引入错误格式     label.error {        display: block;        ma ...

  7. NodeVisitor的使用-遍历Geode节点并在它与父节点之间添加一个LOD节点

    #include <osg\NodeVisitor>#include <osg\MatrixTransform>#include <osg\PagedLOD>#in ...

  8. windows系统查看80端口被占用的程序并结束该程序运行

    一.背景 最近系统更新以后,我在Idea中适用80端口启动项目的时候发现80端口被占用了,就查了资料看怎么找到占用80端口的程序并结束其运行,下面把解决方式共享给大家. 二.解决步骤 1.首先打开控制 ...

  9. error C2664: 'TextOutW' : cannot convert parameter 4 from const char [5]' to LPCTSTR

    转自:http://blog.sina.com.cn/s/blog_4aa4593d0100odra.html 问题的原因是字符串ANSI和Unicode编码的区别, VC6与VS2003等默认使用A ...

  10. Bootstrap学习(一)

    Bootstrap就是对jQuery的一次再开发,所以jQuery脚本引用必须在bootstrap脚本之前. 链接:http://www.cnblogs.com/vvjiang/p/5189804.h ...