一、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. 使用logrotate管理nginx日志文件

    本文转载自:http://linux008.blog.51cto.com/2837805/555829 描述:linux日志文件如果不定期清理,会填满整个磁盘.这样会很危险,因此日志管理是系统管理员日 ...

  2. iOS CoreData relationship 中的inverse

    官方文档建议为每一个可以设置inverse的relationship设置一个inverse.目的是保持数据库的正确性.但是没有具体的说明. 我在stackoverflow中找到了一个是分好的答案,ht ...

  3. iOS gcd dispatch使用注意,dispatch_syn可能产生的死锁

      我们在使用dispatch_sync 时可能会出现死锁,看下面的例子: import UIKit class ViewController: UIViewController { var seri ...

  4. 1. javacript高级程序设计-JavaScript简介

    JavaScript诞生于1995年,由Netscape公司布兰登·艾奇开发,JavaScript主要包括三个部分: (1). ECMAScript,由ECMA-262定义,提高核心语言功能 (2). ...

  5. 关于TortoiseSVN的一些知识

    TortoiseSVN的一切命令都是相对于它自己来说的 1.Import,导入,指的是导入SVN的代码库,即Repository. 2.Export,导出,指的是将代码从Repository中导出到你 ...

  6. JSP页面格式化货币金额,千分位

    <fmt:formatNumber value="${值}" pattern="currency"></fmt:formatNumber> ...

  7. ajax+json+Struts2实现list传递实例讲解

    由于学习需要,需要通过ajax来获取后台的List集合里面的值.由于前面没有接触过,所以今天就来研究下了. 一.首先需要下载JSON依赖的jar包.它主要是依赖如下: json-lib-2.2.2-j ...

  8. php date函数 参数详细

    time()在PHP中是得到一个数字,这个数字表示从1970-01-01到现在共走了多少秒,很奇怪吧 不过这样方便计算, 要找出前一天的时间就是 time()-60*60*24; 要找出前一年的时间就 ...

  9. Paragon NTFS for Mac® Yosemite - 免费下载

    文章链接:http://www.paragon-software.com/cn/home/ntfs-mac-yosemite/registration.html

  10. JAVA作业)01

    一,四则运算 (一)  设计思想 使用Scanner类读取运行时用户输入数据,然后进行数据类型转换,完成四则运算之后利用输出类输出. (二)  流程图 (三)程序代码 //Zhangxiaochen ...