汇编学习(二)——8086CPU
一、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的更多相关文章
- 汇编学习二-VB(常见函数分析)
VB代码如下所示 push ebp 00401FF1 . 8BEC mov ebp,esp 00401FF3 . 83EC 0C sub esp,0xC push <jmp.&MSVBV ...
- emberjs学习二(ember-data和localstorage_adapter)
emberjs学习二(ember-data和localstorage_adapter) 准备工作 首先我们加入ember-data和ember-localstorage-adapter两个依赖项,使用 ...
- ReactJS入门学习二
ReactJS入门学习二 阅读目录 React的背景和基本原理 理解React.render() 什么是JSX? 为什么要使用JSX? JSX的语法 如何在JSX中如何使用事件 如何在JSX中如何使用 ...
- TweenMax动画库学习(二)
目录 TweenMax动画库学习(一) TweenMax动画库学习(二) TweenMax动画库学习(三) Tw ...
- 汇编学习笔记(11)int指令和端口
格式 int指令也是一种内中断指令,int指令的格式为int n,n是中断类型码.也就是说,使用int指令可以调用任意的中断例程,例如我们可以显示的调用0号中断例程,还记得在汇编学习笔记(10)中我们 ...
- Hbase深入学习(二) 安装hbase
Hbase深入学习(二) 安装hbase This guidedescribes setup of a standalone hbase instance that uses the local fi ...
- Struts2框架学习(二) Action
Struts2框架学习(二) Action Struts2框架中的Action类是一个单独的javabean对象.不像Struts1中还要去继承HttpServlet,耦合度减小了. 1,流程 拦截器 ...
- Python学习二:词典基础详解
作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7862377.html 邮箱:moyi@moyib ...
- Quartz学习--二 Hello Quartz! 和源码分析
Quartz学习--二 Hello Quartz! 和源码分析 三. Hello Quartz! 我会跟着 第一章 6.2 的图来 进行同步代码编写 简单入门示例: 创建一个新的java普通工程 ...
- SpringCloud学习(二):微服务入门实战项目搭建
一.开始使用Spring Cloud实战微服务 1.SpringCloud是什么? 云计算的解决方案?不是 SpringCloud是一个在SpringBoot的基础上构建的一个快速构建分布式系统的工具 ...
随机推荐
- Unity3D研究院之手游开发中所有特殊的文件夹(转)
这里列举出手游开发中用到了所有特殊文件夹. 1.Editor Editor文件夹可以在根目录下,也可以在子目录里,只要名子叫Editor就可以.比如目录:/xxx/xxx/Editor 和 /Edi ...
- linux /usr/bin/ld cannot find 解决
问题: 在linux环境编译应用程式或lib的source code时常常会出现如下的错误讯息: /usr/bin/ld: cannot find -lxxx 这些讯息会随着编译不同类型的source ...
- 17. javacript高级程序设计-错误处理与调试
1. 错误处理与调试 l 在可能发生错误的地方使用try-catch方法,可以对错误进行及时的相应 l 使用window.onerror事件处理程序,这种方式可以接受try-catch不能处理的所有错 ...
- cmd命令查看局域网内计算机信息
ping [计算机名] ping -a [IP] nbtstat -a [IP] net view arp -a nslookup www.baidu.com 查看当前dns地址 tracert [I ...
- nyoj_34_韩信点兵
中国剩余定理: 代码: #include <iostream> #include <cstdio> using namespace std; int main() { int ...
- 【python】入门学习(三)
for循环 for i in range(): #注意冒号 range中默认从0开始 或者从指定的数字开始 到给定数字的前一个数字结束 递增递减皆是如此 for循环提供变量的自动初始化 for i ...
- Ajax如何使用Session
在Ajax中有时会使用到Session,在aspx.cs文件这样获取: string name = Session["name"]; 但是在Ajax中就不能这样获取Session, ...
- September 24th 2016 Week 39th Saturday
The worst solitude is to be destitute of sincere friendship. 最大的孤独莫过于没有真诚的友谊. I walk slowly, but I n ...
- iOS 百度地图坐标标注
注:由于iOS9改用更安全的https,为了能够在iOS9中正常使用地图SDK,请在"Info.plist"中进行如下配置,否则影响SDK的使用. <key>NSApp ...
- Swift - 代码创建单例
创建单例的方法 import UIKit //创建一个单例类 class SingleInstance: NSObject { //在单例类中,有一个用来共享数据的数组 var datas = [St ...